说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

问一个简单的问题:)在线等待

编辑:说三道四文库 发布时间:2018-06-19 02:57
HTML文档下载 WORD文档下载 PDF文档下载
procedure TTjtbForm.ComboBox1Change(Sender: TObject);
begin
  If PageControl1.ActivePage=TabSheet1 Then
    Begin
      ComboBox1.OnChange:=TabSheet1.OnShow;
    End
  Else
    ComboBox1.OnChange:=TabSheet3.OnShow;
end;

这里有个问题,就是第一次点击的时候不会动:(要到第二次点击才会生效)
有没有什么方法让他第一次点击的后就会执行OnShow的事件
不知道你要干什么?
就是把ComboBox1.OnChange事件指向TabSheet中的OnShow啊
有什么用呢?
因为我有一个公用控件,也就是ComboBox,无论是TabSheet1还是TabSheet3激活,都要调用ComboBox的值,所以要这样做
你直接调用就可以了,与TabSheet是否激活没有关系的
具体代码贴出来看看
上面就是TTjtbForm.ComboBox1Change的完整事件啊!!!
但第一次点击的时候  ComboBox1.OnChange:=TabSheet3.OnShow;
不起作用,也就是说,第一次点击后,只是赋值了,怎么才能让他运行OnShow事件?
怎么才能让他运行OnShow事件?-‘他 ’是指什么?

你想让TabSheet3 Show出来了吗?
  If PageControl1.ActivePage=TabSheet3 Then
    TabSheet1.Show
  Else
    TabSheet3.Show;
但这样会报没有实际的参数啊
procedure TTjtbForm.ComboBox1Change(Sender: TObject);
begin
  If PageControl1.ActivePage=TabSheet1 Then
    Begin
      ComboBox1.OnChange:=TabSheet1.OnShow;
    End
  Else
    ComboBox1.OnChange:=TabSheet3.OnShow;
end;
----------
按照你上面写的,我试验一点反应也没有
可能我还比较水,所以还没见过你那样的写法
你想用ComboBox1的值,与激活TabSheet不知道有什么关系?
你可以把代码发源程序发给我看看
cll007@tom.com
睡觉去了
呵呵!有反应啊!因为TabSheet激活的时候,提取数据的操作都在OnShow里面,但有一个参数,也就是ComboBox1的值,而ComboBox1是一个公用的控件(也就是TabSheet1与3都要调用),就不能简单的把他的OnChange事件设为TabSheet1或TabSheet3,又不愿意把那些代码贴到这边来,所以就搞了个这种东东,不过不是很成功,第一次点击没反应:),再点就有了:),就来问问大家有什么好办法让他第一次点击的时候就能成功运行TabSheet的OnShow事件
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘