使用数组在C#中显示Win32_SystemDriver查询结果

时间:2017-05-30 12:39:55

标签: c# arrays winforms

所以我试图将Win32_SystemDriver中的描述信息转换为<!-- Var1: string(33) "images/sliders/slide-1.jpg" Var2: string(143) "background-image: url("images/sliders/slide-1.jpg"); background-attachment: fixed; background-repeat: no-repeat; background-size: cover;" --> ,但我无法做到这一点,因为它只显示查询的最后结果。正如你可以看到的那样,我试图构建一个数组,但它不起作用。

RichTextBox

您是否有任何想法如何将所有信息列表显示在ObjectQuery query8 = new ObjectQuery( "SELECT * FROM Win32_SystemDriver"); ManagementObjectSearcher searcher8 = new ManagementObjectSearcher(scope, query8); foreach (ManagementObject queryObj in searcher8.Get()) { string[] arrTeamMembers = new string[] { queryObj["Description"].ToString() }; foreach (var item in arrTeamMembers) { richTextBox1.Text = item; } }

4 个答案:

答案 0 :(得分:1)

请尝试以下操作:

List<string> arrTeamMembers = new List<string>(); 
foreach (ManagementObject queryObj in searcher8.Get())
{
    arrTeamMembers.Add(queryObj["Description"].ToString());
}
richTextBox1.Text = string.Join(",", arrTeamMembers);

答案 1 :(得分:0)

你的方法还可以。有一件事你错过了:<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="footer"></div>是一个存储字符串的所谓属性。现在,它只向您显示最后一个驱动程序的原因是您将此属性设置为阵列中每个驱动程序的新值。所以对于第一个驱动程序,它将它设置为&#34; driverA&#34;而对于第二个&#34; driverB&#34;。你要找的是richTextBox1.Text运营商 - &gt; +=。如果要在驱动程序之间添加空格,可以执行richTextBox1.Text += item;之类的操作。这样你就有了一个领先的空白,但格式化是个人偏好。

答案 2 :(得分:0)

请注意,ManagementObjectSearcher是IDisposable,因此应予以处理。

ObjectQuery query8 = new ObjectQuery("SELECT * FROM Win32_SystemDriver");
using (ManagementObjectSearcher searcher8 = new ManagementObjectSearcher(scope, query8))
{
   List<string> arrTeamMembers = new List<string>(); 
  foreach (ManagementObject queryObj in searcher8.Get())
  {
      arrTeamMembers.Add(queryObj["Description"].ToString());
  }
  richTextBox1.Text = string.Join(Environment.NewLine, arrTeamMembers);
}

答案 3 :(得分:0)

var query8 = new ObjectQuery("SELECT * FROM Win32_SystemDriver");
var searcher8 = new ManagementObjectSearcher(scope, query8);
var strbuilder = new StringBuilder();

foreach (var queryObj in searcher8.Get())
    strbuilder.AppendLine($"{queryObj["Description"].ToString()}");

richTextBox1.Text = strbuilder.ToString();