2017-07-07 168 views
0

我很新的CSharp,我知道你发现这个问题很愚蠢,我需要一个想法如何将输出从控制台转换为文本框。感谢转换c#控制台输出到文本框输出

foreach (DriveInfo d in allDrives) 
{ 
    Console.WriteLine("Drive {0}", d.Name); 
    Console.WriteLine(" Drive type: {0}", d.DriveType); 
    if (d.IsReady == true) 
    { 
     Console.WriteLine(" Volume label: {0}", d.VolumeLabel); 
     Console.WriteLine(" File system: {0}", d.DriveFormat); 
     Console.WriteLine(
      " Available space to current user:{0, 15} bytes", 
      d.AvailableFreeSpace); 

     Console.WriteLine(
      " Total available space:   {0, 15} bytes", 
      d.TotalFreeSpace); 

     Console.WriteLine(
      " Total size of drive:   {0, 15} bytes ", 
      d.TotalSize); 
    } 
    Console.ReadKey(true); 
} 
+1

我在这里看到了WPF标签。那么,你的意思是WPF文本框? –

+0

这只是简单的使用'DriveInfo'而没有值转换为任何其他平台 –

+0

您可能要考虑在此论坛中搜索诸如“将控制台转换为WPF”之类的关键短语。像这样:https://stackoverflow.com/search?q=convert+console+to+wpf –

回答

2

Console.WriteLine是调用内部StreamWriter其流是Console.Output一个的WriteLine。

你可以做的是使用另一个对象,像StringBuilder,写你的结果到StringBuilder,然后从StringBuilder.ToString()

StringBuilder sb = new StringBuilder(); 
sb.AppendFormat("Drive {0}\n", d.Name); 
sb.AppendFormat(" Drive type: {0}\n", d.DriveType); 
    if (d.IsReady == true) 


    { 
     sb.AppendFormat(" Volume label: {0}\n", d.VolumeLabel); 
     sb.AppendFormat(" File system: {0}\n", d.DriveFormat); 
     sb.AppendFormat(
      " Available space to current user:{0, 15} bytes\n", 
      d.AvailableFreeSpace); 

     sb.AppendFormat(
      " Total available space:   {0, 15} bytes\n", 
      d.TotalFreeSpace); 

     sb.AppendFormat(
      " Total size of drive:   {0, 15} bytes \n", 
      d.TotalSize); 
    } 
txtBox1.Text = sb.ToString(); 

或者在你的循环中的字符串结果集Text,你可以添加新行文本到你的TextBox

txtBox.Text += String.Format(("Drive {0}\n", d.Name); 
    txtBox.Text += String.Format((" Drive type: {0}\n", d.DriveType); 
    if (d.IsReady == true) 


    { 
     txtBox.Text += String.Format((" Volume label: {0}\n", d.VolumeLabel); 
     txtBox.Text += String.Format((" File system: {0}\n", d.DriveFormat); 
     txtBox.Text += String.Format((
      " Available space to current user:{0, 15} bytes\n", 
      d.AvailableFreeSpace); 

     txtBox.Text +=String.Format((
      " Total available space:   {0, 15} bytes\n", 
      d.TotalFreeSpace); 

     txtBox.Text +=String.Format((
      " Total size of drive:   {0, 15} bytes \n", 
      d.TotalSize); 
    }