Changing label text in Form2 after pressing a button in Form1

左心房为你撑大大i 提交于 2019-12-25 08:00:06

问题


How do I change a label text in Form2 after clicking a button in Form1?

For example, I want the label text in Form2 to change to "Button 1 was pressed" if I pressed button1 in Form1 and if i pressed button2 in Form1, it will be "Button 2 was pressed".

Note: Form1 and Form2 are not shown at the same time. So I would have to click the button and then Form2 will show up with the updated label text.


回答1:


You can add an event click on button1 on your Form1 class

private void button1_Click(object sender, EventArgs e)
        {
            Form2 form= new Form2();
            form.Show();
            // if you want to hide form1
            // this.Hide();
            form.label1.Text = "Hello World";            
        }

But before that you should make your label1 marked as public on your Form2.Designer.cs :

public System.Windows.Forms.Label label1;



回答2:


Refer this :- C# object of class in different windows form

https://msdn.microsoft.com/en-us/library/system.windows.forms.form(v=vs.110).aspx

How to access form methods and controls from a class in C#?

you have to have a reference to the form object in order to access its elements the elements have to be declared public in order for another class to access them

Hiding a form and showing another when a button is clicked in a Windows Forms application



来源:https://stackoverflow.com/questions/41141582/changing-label-text-in-form2-after-pressing-a-button-in-form1

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!