2012-01-22 2 views
9

C'è un modo per raggiungere questo obiettivo? Voglio passare un testo e farlo apparire sulla linea di ingresso - invece di "Indicare il Nome: <cursore>", che voglio "Indicare il Nome: Default Testo modificabile <cursore>"Console.ReadLine ("Testo modificabile testo predefinito in linea")

+1

Questo può essere un duplicato: http://stackoverflow.com/q/1655318/1108263 –

+1

Penso che sia dà fastidio solo un duplicato di http://stackoverflow.com/questions/7565415/edit-text-in -c-sharp-console-application – Slugart

+0

Questa domanda non ha soluzione .... :( – nim

risposta

1

Assegna il valore predefinito alla stringa e sostituiscilo solo se l'utente ha inserito qualcosa.

Dim name, s As String 

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

Ok, l'ho trovato. Scusate.

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

Questo avrà effetti secondari interessanti quando la finestra della console non ha il focus. –

+0

Sì, ma lo sto facendo solo immediatamente seguendo la linea di comando del mio programma.Il programma (almeno adesso) è interattivo dalla riga di comando e conserva le informazioni di sessione tra le chiamate.Probabilmente non rimbalzerà in dos –

+1

Impossibile trovare 'SendKeys'. – Shimmy