李辉 发表于 2011-9-22 10:22:33

Palette combobox响应问题

咨询一个问题:我用了一个Palette,然后在Palette中加入两个combobox,一个名称CBHG,另外一个CBJT。然后设计了一个CBHG_SelectedIndexChanged事件,主要目的时当CBHG变化的时候,CBJT的内容跟着变化。可是我发现程序运行后CBHG变了,而CBJT内容没变。界面和代码如下:求大神帮忙!!()    Private Sub CBHG_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CBHG.SelectedIndexChanged      Dim ni As Int16      Dim nj As Int16      nj = Val(CBHG.Text) - 1      CBJT.Items.Clear()      For ni = 1 To mttainf.leg_num(nj, 0)            If mttainf.leg_num(nj, ni) > 0 Then                CBJT.Items.Add(mttainf.leg_num(0, ni))            End If      Next      CBJT.SelectedIndex = 0End Sub 另外我设置ps.keepfocus也没办法,控件refresh也不行。请求大牛帮忙

cdinten 发表于 2011-9-22 14:51:11

If mttainf.leg_num(nj, ni) > 0 Then
你直接先修改为
If true Then
看看是不是添加的条件没有触发?

qjchen 发表于 2011-9-22 16:17:36

本帖最后由 qjchen 于 2011-9-22 16:18 编辑

最近在学些WPF PALETTE的编程
我觉得编PALETTE程序的时候,可以先定义用户控件,控件再加入PALETTE
然后,这些控件的事件,在控件内部定义
然后用this来进行指定本控件

比如我 有combobox1和combobox2两个控件,加入到控件form1中,在其中定义了此事件
我定义了
      private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
      {
            this.comboBox2.Items.Clear();
            this.comboBox2.Items.Add(this.comboBox1.Text);
            this.comboBox2.Text = this.comboBox1.Text;

      }

即可实现类似的效果,如下图,你试试看如何

李辉 发表于 2011-9-23 15:03:25

qjchen 发表于 2011-9-22 16:17 static/image/common/back.gif
最近在学些WPF PALETTE的编程
我觉得编PALETTE程序的时候,可以先定义用户控件,控件再加入PALETTE
然后, ...

谢谢!问题搞定了,是焦点没设置好。谢了!

yxr_MJTD 发表于 2012-10-21 10:07:12

李辉 发表于 2011-9-23 15:03 static/image/common/back.gif
谢谢!问题搞定了,是焦点没设置好。谢了!

请问你是怎么设置焦点的?我也是在点击面板后,CAD的文档没有焦点,不能第一时间选择对像,必须要再点击一下CAD的窗口。

xgr 发表于 2013-3-5 23:59:50

yxr_MJTD 发表于 2012-10-21 10:07
请问你是怎么设置焦点的?我也是在点击面板后,CAD的文档没有焦点,不能第一时间选择对像,必须要再点击一 ...

如果你用的是cad2010的话,可能会出现焦点切换问题,换cad2012就不会出现这现象,论坛有贴孑讨论过这问题.
页: [1]
查看完整版本: Palette combobox响应问题