C# 从列表框中选择随机项,并在第二个列表框中选择相关项
我在两个列表框中有两组项目<代码>列表框1列出的项目如下:C# 从列表框中选择随机项,并在第二个列表框中选择相关项,c#,button,random,textbox,listbox,C#,Button,Random,Textbox,Listbox,我在两个列表框中有两组项目列表框1列出的项目如下: red yellow blue 而listBox2包含以下项目: 1 2 3 每个列表框中有三个以上的项目。我还有两个文本框,textBox1和textBox2。我已经成功地让listBox1中的一个随机项目显示在textBox1中,现在我正试图用一个按钮检查textBox2中由用户手动输入的文本是否与listbox2中的相应项目相匹配 到目前为止,我已经: Random random = new Random(); int a; int
red
yellow
blue
而listBox2
包含以下项目:
1
2
3
每个列表框中有三个以上的项目。我还有两个文本框,textBox1
和textBox2
。我已经成功地让listBox1
中的一个随机项目显示在textBox1
中,现在我正试图用一个按钮检查textBox2
中由用户手动输入的文本是否与listbox2
中的相应项目相匹配
到目前为止,我已经:
Random random = new Random();
int a; int n;
private void button1_Click(object sender, EventArgs e)
{
n = listBox1.Items.Count;
a = random.Next(n);
textBox1.Text = listBox1.Items[a].ToString();
}
private void button2_Click(object sender, EventArgs e)
{
//unsure
}
我试图让按钮2
检查textBox2
是否在listBox2
中输入了正确的对应项,如果正确,则显示某种消息。我是这方面的初学者,但我认为如果我能得到正确的代码,我已经充分掌握了如何处理if/else消息
如何检查此类链接?您需要将它们与if语句进行比较
if (thing1 == thing2) {
//do things
}
因此我们知道thing1是listbox2中当前选中的项目,thing2是textbox2的文本
您可以通过文本抓取它们中的文本
if (textbox2.Text == listbox2.Text) {
//do stuff
}
如果要检查输入的文本是否在任何选项中,则需要使用.contains
if (listbox2.items.contains(textbox2.Text) {
//do stuff
}
假设它是一个WPF应用程序,并且您用字符串填充了列表框,那么您可以获得文本框的文本属性值和列表框的Items属性值。Items属性将返回一个ItemCollection,您可以使用像这样的Contains方法:listBox2.Items.Contains(textBox2.Text)来返回true或false 类似的方法也适用于WinForms应用程序,只是您使用的.NET framework中的类不同,例如,本例中的list box Items属性返回ListBox.ObjectCollection。这两个库都提供了相关的文本、项和包含的属性/方法
在这两种情况下,都可以使用MessageBox.Show()方法来显示相应的方法。如果语句在
按钮2\u单击?我收到一个“非发票成员”文本框。文本不能像方法一样使用。错误。另外,当textBox1
从listBox1
接收到随机选择的文本时,按钮2
如何知道检查listBox2
的确切对应编号(如果尚未选择该编号)?对不起,我认为它只是文本而不是文本()。这个错误意味着你试图使用一个属性(上面没有()的属性)像一个方法一样(它有一个()的属性,因为你可以向它传递参数。)你的答案与我想要的非常接近。我仍然遇到的问题是,如果textBox1
将listBox1
中的第二项随机放置在其文本中,按钮2
只有在用户准确输入textBox2
第二项在listBox2
中时才会返回true。此方法能够做到这一点吗?ItemCollection也可以像这样访问:items[index]。因此,您可以从listBox1中获取索引值,在您的情况下,它是a,并执行类似这样的操作:listBox2.items[a]。Equals(textBox2.Text)。完美!我想知道如何使用[a]来识别这两个项目。非常感谢你。