2012-07-09 51 views

回答

0

实际上你有很多选择。这一切都取决于您的应用程序的代码/架构,但通常您要查找的是代表。 这里是代表的入门级文章:linkhere是一些基本例子的链接,这些例子会向您介绍Actions和Lambdas。

或者,如果这两个表单可以互相看到(如果您在一个父表单中有两个表单的引用),则可以在源表单上创建一个事件并在目标表单上订阅它,并将数据传入那种方式。

的源代码格式:

•定义委托

public delegate void RibbonDataHandler(string); 

•定义事件

public event RibbonDataHandler RibbonData; 

•d efine的方法来执行事件

protected virtual void OnRibbonData(string value) 
{ 
    if(RibbonData != null) 
     RibbonData(value); 
} 

•上调用的DataGridView的的DoubleClick事件处理函数的事件

string value = // Get Value from the gridView 
OnRibbonData(value); 

目标表单: •添加公共财产设置TextBox

public string TextBoxValue 
{ 
    get { return txtValue.Text; } 
    set { txtValue.Text = value; } 
} 

父窗体:

•添加这两种形式的字段

private Form _sourceForm; 
private Form _destinationForm; 

•初始化形式

// Well, initialize the forms in the way you need it, maybe on the Load event? 
_sourceForm = new SourceForm(); 
_destinationForm = new DestinationForm(); 
_sourceForm.RibbonData += new SourceForm.RibbonDataHandler(OnRibbonData); 

•定义RibbonData处理器

private void OnRibbonData(string value) 
{ 
    _destinationForm.TextBoxValue = value ?? String.Empty; 
} 

免责声明: 我写了这一切从我的头,没有VS在这一刻,如果你有更多问题或者有什么不工作,发表评论。 :)

相关问题