控件是一个组合控件
控件包含以下控件:
       TextBox 
       Form 
           form 中包含 DataGrid 功能说明:   TextBox 用于给用户录入关键字,当按向下键时Form.DataGrid获得焦点.
   Form是在当TextBox发生TextChange时显示.
   DataGrid根据关键字检索数据记录并显示.当在DataGrid按非功能键时(向上,向下,向左,向右,回车)
TextBox便获得焦点,并得到相应按键信息.   问题:
   当DataGrid获得焦点时,如何让在datagrid上的按键消息传递给TextBox控件. 

解决方案 »

  1.   

    具体代码请见:http://chsfly.cnblogs.com/archive/2005/10/19/257696.html
      

  2.   

    昨天请教了做dephi的同事,可以通过sendmessage发送消息的方法来做,但我在C#中却找不到,也不知从何下手.
      

  3.   

    刚才说的可以使用接口实现,下面就是接口实现的方法:
    首先声明一个接口IMessage,该接口有一个方法SendMessage,接口定义如下:
    public interface IMessage {
    void SendMessage(string s);
    }
    该接口应该由Parent窗体实现,实现代码如下:
    public class frmParent : System.Windows.Forms.Form,IMessage{
    //... 其他代码省略
    public void SendMessage(string s) {
    this.textBox2.Text = s;
    }
    }子窗体则在OnChanged的时候调用这个接口方法,代码如下:
    private void textBox1_TextChanged(object sender, System.EventArgs e) {
    MyMessage.SendMessage(this.textBox1.Text);//这里调用的是接口方法
    }这里的MyMessage是一个IMessage接口的引用,这个引用我们在父窗体的InitializeComponent时候设置即可,代码如下:
    child.MyMessage = this;//this实现了IMessage当然子窗口需要保持接口的引用,代码如下:
    public class frmChild : System.Windows.Forms.Form{
    //... 其他代码省略
    public IMessage MyMessage;
    }这些代码实现的效果和利用委托实现的效果相同。你可以对比这参考一下哪个更合适你。接口实现的效率要比委托的高一些。
      

  4.   

    你的blog是url 是多少?