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

本文关键字:RichTextBox Windows 窗体 应用程序 cs MainForm 访问 | 更新日期: 2023-09-27 18:14:39

例如,在同一类中,我使用"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);

不工作。

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

试试这个,

在主格式中;

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";

:)

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

与其将richtextbox更改为public,我建议在您的主窗体上实现公共属性。调用这些特定的属性来为您在主窗体的richtextbox上做一些工作…

mainform中的公共属性:

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中的文本…这是一个示例属性,创建您需要的属性和方法。