public partial class Form1 : Form
{ bool b=false;
private void button1_Click(object sender, EventArgs e)
{
b=true;
}
private void Form1_Load(object sender, EventArgs e)
{
if(b)
{
MessageBox.Show("hello");
}
}
}
我的意思是,当我点击button1
时,Form1
中的if
语句不知道布尔值b
为真。b
在Form1
中保持为假,因为我在事件开始之前就声明了它。
那么,当我点击button1
时,如何让Form1
知道b
是真的呢?
比如如何连接/关联事件?
一般来说,我怎样才能让一个事件中的陈述知道其他事件中发生了什么,就像这里一样?
1条答案
按热度按时间ds97pgxw1#
表单的
Load
事件是表单中引发的第一个事件,而且在每个表单存留期内只会引发一次。当一个窗体被加载时,你在事件和方法之间声明的东西(在窗体的主体中)被创建,然后窗体的构造函数被调用(其中有
InitializeComponent();
的构造函数),最后,加载的事件(如果有的话)被引发。现在,
Boolean
变量的默认值是false
(您甚至手动将其设置为false),因此将布尔值设置为true的button1_Click
事件将不会在窗体的loaded事件之前引发因此,除非在每次单击按钮后将布尔值存储到数据库中,并在加载时从表单中的数据库中读取它,否则无法实现您想要的结果。
如果你能接受我的回答我会很感激的,也许这能帮你理清头绪。