writing text into a textbox
我有一个叫做form1的表单和一个叫做richtextbox1的富文本框,它是自动生成的,所以它是私有的。
我有另一个连接到服务器的类,我想输出连接的状态,但我只能访问richtextbox1。在form1类中,我有两个可能的解决方案,哪个更好,或者有一个更好的解决方案我不知道?
将文本框公开
而不是:
1 2 3 | Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); |
首先创建一个Form1对象,并使用该对象存储正在运行的表单:
1 2 3 4 5 6 7 | //somewhere global Form1 theform = new Form1(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(theform); |
然后在连接类的某个地方使用对象。
我会在
1 2 3 4 5 | public string TextBoxText { get { return myTextBox.Text; } set { myTextBox.Text = value; } } |
然后可以从另一个类设置值。
1 | myForm1.TextBoxText ="Current server status"; |
如何访问
1 2 3 4 5 6 | private Form1 myForm1 = null; public AnotherClass(Form1 mainForm) { myForm1 = mainForm; myForm1.TextBoxText ="Current server status"; } |
如果要在Form1中创建与服务器通信的类,请向其添加一个事件,并在创建时在Form1中订阅它。