在WinForms应用程序中,若要从TestForm
修改Form1
中控件的Text
属性,你需要确保Form1
的实例在TestForm
中是可访问的。有几种方法可以实现这一点,最常见的方法是通过构造函数传递Form1
的引用,或者使用公共属性或方法来设置。
首先确保控件(在本例中为Button)在Form1
中是可访问的,设置Modifiers为public。如果它是private
,你需要添加一个公共方法(如上面注释掉的SetButtonText
方法)来修改它的Text
属性。
Form1:button1(text=待被TestFrom修改Test的按键),button2(text=打开TestForm)
TextForm:button1(text=修改Form1按键)
确保你的TestForm
有一个方法或属性可以接收Form1
的引用。这可以通过在TextForm
的构造函数中添加一个参数来实现。
TestForm完整代码:
using System.Windows.Forms; namespace demo1.Views { public partial class TestForm : Form { private Form1 form1instance; public TestForm(Form1 form1) { InitializeComponent(); form1instance = form1; } private void button1_Click(object sender, System.EventArgs e) { form1instance.ChangeText("成功修改"); } } }
Form1的完整代码:
using demo1.Views; using System.Windows.Forms; namespace demo1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public void ChangeText(string Message) { button1.Text = Message; button1.Refresh(); } private void button2_Click(object sender, System.EventArgs e) { new TestForm(this).Show(); } } }
实现效果:
标签:控件,button1,TestForm,System,Form1,窗体,public,属性 From: https://www.cnblogs.com/ywwwik/p/17947360