C# 将一个工具从另一个窗体调用到另一个窗体?

C# 将一个工具从另一个窗体调用到另一个窗体?,c#,winforms,visual-studio-2010,mdi,toolbox,C#,Winforms,Visual Studio 2010,Mdi,Toolbox,我正在开发一个代码编辑器(winforms),我只是想知道是否可以从一个表单调用一个特定的框到另一个表单 这组代码的示例: int line = 1 + richTextBox1.GetLineFromCharIndex(richTextBox1.GetFirstCharIndexOfCurrentLine()); int column = 1 + richTextBox1.SelectionStart - richTextBox1.GetFirstCharIndexOfCurrentLine(

我正在开发一个代码编辑器(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的标签代码

我的问题是,是否可以从另一种形式调用工具函数 另一个


希望你能帮助我,真的很需要,谢谢

只要您有对该表单工具箱的引用,只需公开该
标签
/
文本框
或任何您想通过公共属性更改的内容,并从上下文中进行设置即可

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


如果另一个窗体在另一个线程上运行,则必须异步调用标签设置程序。有关更多说明,请参阅问题。

我99%确定这里有一个重复的问题,但简短的回答是使用事件模型并订阅该模型event@Shimmy它的winforms先生,我把它包括在我的问题中:/从你在那里描述的内容来看,获得参考的最简单方法,作为两个窗体的良好逻辑构造,一个窗体是另一个窗体的mdi父级。@即使是两个窗体也不是mdi的?@Elegiac是,只要您有对它的引用并且它在同一线程中运行。请看我的最新答案。@Shimmy好的,先生,我会试着去做,并给出一些逻辑。w8@Elegiac实际上,这并不复杂,只要将上面的代码复制到工具提示类中,就完成了。祝你好运如果这篇文章有帮助,请不要忘记投票/接受答案。