从不同的类访问MainForm.cs的RichTextBox(Windows窗体应用程序)

时间:2014-07-25 08:08:18

标签: c# winforms richtextbox

例如,在同一个班级我使用"这个"字。但是如何从另一个类访问THIS RichTextBox。

private void deleteSymbol_Click(object sender, EventArgs e)
{
      string text = this.dataTextBox.Text;
      this.dataTextBox.Text = text.Remove(0, 1);
}

以下示例不起作用。

MainForm mf = new MainForm();
mf.dataTextBox.Text = text.Remove(0, 1); 

MainForm mf; 
mf.dataTextBox.Text = text.Remove(0, 1);

不起作用。

3 个答案:

答案 0 :(得分:1)

试试这个,

以您的主要形式;

public  MainForm()
{
  InitializeComponent();
  main = this;
}

internal static MainForm main;
internal string Status
{
    get { return dataTextBox.Text.ToString(); }
    set { dataTextBox.Text = value; }
}

来自你的通话类,

MainForm.main.Status = "Your message";

:)

答案 1 :(得分:0)

首先,您应该将richtextbox控件的Modifiers属性更改为public或其他一些可访问的选项,以允许其他类标识您的控件。那么你的代码就可以了。

答案 2 :(得分:0)

我建议您在mainform上实现公共属性,而不是将richtextbox更改为public。调用这些特定属性,在mainform的richtextbox上为您完成一些工作......

主体中的公共属性:

Private newRTBtext As String
Public Property RTBtext() As String
    Get
        Return RichTextBox1.Text
    End Get
    Set(ByVal value As String)
        newRTBtext = value
        RichTextBox1.Text = value
    End Set
End Property

在mainform上调用此属性以在richtextbox中设置或获取文本...这是一个示例属性,创建您需要的属性和方法。