下面是一个小程序的整个编写过程!
建立二个窗体Form1,form2
form1的窗体风格(formstyle)属性改为MDIForm
form2的窗体风格属性改为MDIChild
form1窗体中加入Coolbar控件,并在Coolbar控件上加几个按钮控件(作验证用)
再加入TreeView控件,并使之位置为最左边
form2窗体中分别加入DBGrid DataSource ADOQuery这三个控件。并使三者互连。
ADOQuery在设定ConnectingStrings属性后,在SQL属性中输入一个查证语句“Select * from table”(随便选一个表),然后激活ADOQuery控件。
在form1中加入uses unit2; 运行程序
当看到两个窗体都出现后,点击一下treeView控件,再直接点击form2窗体中DBGrid控件选择一条记录(不要先点击Form2窗体中其它部分),DBGrid没有响应!
如果先点击form2窗体其它部分,再点击DBGrid窗体就响应了。
再做如下动作:
先点主窗体中Coolbar控件上按钮(或非Treeview控件部分),再直接点击form2中DBGrid控件,DBGrid控件就能马上响应!
反正点击主窗体中TreeView控件不能马上点击form2中DBGrid控件.
公司里机子都这个样,连家里的机子也是这样!
所以到网上来问一个是程序本身有问题,还是希望大家能帮帮忙
建立二个窗体Form1,form2
form1的窗体风格(formstyle)属性改为MDIForm
form2的窗体风格属性改为MDIChild
form1窗体中加入Coolbar控件,并在Coolbar控件上加几个按钮控件(作验证用)
再加入TreeView控件,并使之位置为最左边
form2窗体中分别加入DBGrid DataSource ADOQuery这三个控件。并使三者互连。
ADOQuery在设定ConnectingStrings属性后,在SQL属性中输入一个查证语句“Select * from table”(随便选一个表),然后激活ADOQuery控件。
在form1中加入uses unit2; 运行程序
当看到两个窗体都出现后,点击一下treeView控件,再直接点击form2窗体中DBGrid控件选择一条记录(不要先点击Form2窗体中其它部分),DBGrid没有响应!
如果先点击form2窗体其它部分,再点击DBGrid窗体就响应了。
再做如下动作:
先点主窗体中Coolbar控件上按钮(或非Treeview控件部分),再直接点击form2中DBGrid控件,DBGrid控件就能马上响应!
反正点击主窗体中TreeView控件不能马上点击form2中DBGrid控件.
公司里机子都这个样,连家里的机子也是这样!
所以到网上来问一个是程序本身有问题,还是希望大家能帮帮忙
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————
好象是 Refresh ,或 SetFocus,
试试吧