0

我正在使用代码编辑器(winforms),我只是想知道是否可以将特定框从一个表单调用到另一个?

这组代码的示例:

int line = 1 + richTextBox1.GetLineFromCharIndex(richTextBox1.GetFirstCharIndexOfCurrentLine());
int column = 1 + richTextBox1.SelectionStart - richTextBox1.GetFirstCharIndexOfCurrentLine();
label1.Text = "line: " + line.ToString() + ", column: " + column.ToString();

***上面的代码在一个计时器内,该计时器调用富文本框中的行数和列数,就像实际代码编辑器的右下角一样。

现在我只是想知道是否可以调用显示到主窗体并显示到另一个但仍会运行的标签。

就像在 mainform 中一样,有 Richtextbox 的代码,而在其他表单中,它应该具有连接到 mainform 的标签代码。

我的问题是可以将工具功能从另一种形式调用到另一种形式吗?

希望你能帮助我,真的很需要,非常感谢!

4

1 回答 1

1

只要您有对该表单工具箱的引用,只需通过公共属性公开该Label/TextBox或您想要更改的任何内容并从您的上下文中设置它。

public class ToolBox : ToolBoxBase
{
   public CustomLabel
   {
      get
      {
         return label1.Text;
      }
      set
      {
         label1.Text = value;
      }
   }
}

private ToolBox toolbox;
void ShowToolBox()
{
   InitToolBox();
   toolbox.CustomLabel = "New label";
}

由于我什至不确定问题所指的技术是什么,所以我添加了一个糟糕的伪示例来让您了解这个想法。该InitToolBox方法初始化工具箱并显示它,并toolbox使用对它的引用设置字段。

如果另一个表单在另一个线程上运行,那么您将不得不异步调用标签设置器。有关更多说明,请参阅问题。

于 2013-05-09T02:35:00.277 回答