将工具从另一种形式调用到另一种形式

本文关键字:另一种 调用 工具 | 更新日期: 2023-09-27 18:12:51

我在一个代码编辑器(winforms)工作,我只是想知道是否有可能从一个表单调用一个特定的框到另一个?

这组代码的示例:
int line = 1 + richTextBox1.GetLineFromCharIndex(richTextBox1.GetFirstCharIndexOfCurrentLine());
int column = 1 + richTextBox1.SelectionStart - richTextBox1.GetFirstCharIndexOfCurrentLine();
label1.Text = "line: " + line.ToString() + ", column: " + column.ToString();
上面的

***代码是在一个计时器内,它调用richtextbox中的行和列计数,就像在实际代码编辑器的右下方一样。

现在我只是想知道是否有可能调用显示到主表单的标签,并将显示到另一个,但仍将运行

像在mainform中一样,有richtextbox的代码,而在其他形式中,它应该有连接到mainform的label的代码。

我的问题是从另一种形式调用工具函数是可能的到另一个地方吗?

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

将工具从另一种形式调用到另一种形式

只要你有一个表单工具箱的引用,只要通过公共属性暴露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并引用它。

如果另一个表单在另一个线程上运行,那么您将不得不异步调用标签设置器。