【问题标题】:Console.ReadLine("Default Text Editable Text On Line")Console.ReadLine("默认文本可编辑在线文本")
【发布时间】:2012-02-16 06:35:32
【问题描述】:

有没有办法做到这一点?我想传递一些文本并让它出现在输入行上——而不是“输入您的姓名:”,我想要“输入您的姓名:默认可编辑文本

【问题讨论】:

标签: c# .net console console-application


【解决方案1】:

为您的字符串分配默认值并仅在用户输入内容时替换它。

Dim name, s As String

name = "John"
Console.Write($"Enter your Name (hit <Enter> for ""{name}""): ")
s = Console.ReadLine()
If Trim(s) <> "" Then
    name = s
End If
Console.WriteLine("Result = {0}", name)
Console.ReadKey()

【讨论】:

    【解决方案2】:

    好的,找到了。对不起。

    static void Main(string[] args)
    {
        Console.Write("Your editable text:");
        SendKeys.SendWait("hello"); //hello text will be editable :)
        Console.ReadLine();
    }
    

    【讨论】:

    • 当您的控制台窗口没有焦点时,这会产生有趣的副作用。
    • 是的,但我只是在我的程序的 dos 行煽动后立即执行此操作。该程序(至少现在)是从命令行交互的,并在调用之间保留会话信息。最终它不会反弹回dos。
    • 找不到SendKeys
    • SendKeys 不在控制台中
    • @nim 使用 System.Windows.Forms;它应该可以工作。
    猜你喜欢
    • 1970-01-01
    • 2012-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-05
    • 1970-01-01
    • 2011-03-10
    • 2013-11-23
    相关资源
    最近更新 更多