我正在处理一个带有一个文本框,一个按钮,一个组合框和其他几个文本框的表单。
所以,我希望这个winforms程序的工作方式如下:
1)在textbox1中填写数据库索引值(例如:22222)
2)单击按钮。此按钮转到数据库,在textbox1中查找值,最终根据数据库返回的内容创建一个字符串。 (例如:返回值=超;字符串值= 5)
3)单击按钮后,您应该能够填写其他文本框,具体取决于组合框的SelectedIndex 。组合框中填充的值完全取决于button1生成的字符串的值。 (例如:combobox1 selectedindex = 1:textbox2.text = S; combobox selectedIndex = 2:textbox3.text = U)
因此,基本上,必须首先执行button1,然后combobox1才能开始自己执行。另请注意,此处使用了(至少)两种方法:button1_click的void和combobox1_selectedindexchanged的void。
完成了两个第一部分。我遇到的问题是访问button1生成的字符串,该字符串只能在执行后访问,并在combobox1的方法中使用。
这可能吗?
答案 0 :(得分:0)
在Form类上创建一个属性,一旦使用文本框中的值单击按钮1,就会填充该属性。
然后随时随地使用它。
示例代码:
public partial class Form1 : Form
{
public string Value;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
this.Value = textBox1.Text;
textBox2.Text = this.Value;
}
}
答案 1 :(得分:0)
感谢您的帮助! 我最终能够像这样做,真正访问method2范围内的变量,而它是在method1中创建的:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string output = "test";
File.WriteAllText(@"C:\output.txt", output)
}
private void combobox1_SelectedItemChanged
{
string output = File.ReadAllText(@"C:\output.txt")
// do something with this string
}
}