以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]焦点问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=80829)

--  作者:blsu33
--  发布时间:2016/2/3 10:10:00
--  [求助]焦点问题
红袍老师,
   窗口打开后,焦点不在控件上,希望设置焦点到控件上,焦点的位置是,代码生成的菜单,如何设置焦点。

--  作者:blsu33
--  发布时间:2016/2/3 10:11:00
--  
生成的菜单 代码是这个


Dim dataname As String
dataname="Tab_" & e.Form.Name
Dim tab= e.Form.Controls(dataname).Basecontrol
Dim dt As DataTable=DataTables("Z001分类编码方案")
Dim dt1 As DataTable=DataTables("Z002菜单生成")
Dim gz As String = dt.DataRows(0)("规则长度")
For Each p As object In tab.TabPages
    Dim menuStrip As new System.Windows.Forms.MenuStrip()
    menustrip.Name = p.Name
    Dim ft As String= "(\',\' + [窗口名称] + \',\') Like \'%," & p.text & ",%\'"
    For Each dr As DataRow In dt1.Select(ft,"编码规则")
        If dr.IsNull("规则长度") = False AndAlso dr("规则长度").Length = val(gz(0)) Then
            Dim tsmi As new System.Windows.Forms.ToolStripMenuItem
            tsmi.name = dr("编码规则")
            tsmi.Text = dr("编码名称")
            menuStrip.Items.Add(tsmi)
            \'If dr("是否末级") =True Then
            \'tsmi.Enabled = False
            \'End If
            AddHandler tsmi.Click, AddressOf menu_Click
            Functions.Execute("menusetup",tsmi,dt1,gz)
        End If
    Next
    P.Controls.add(menuStrip)
Next

--  作者:blsu33
--  发布时间:2016/2/3 10:18:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160203101726.png
图片点击可在新窗口打开查看

--  作者:大红袍
--  发布时间:2016/2/3 10:20:00
--  

Dim tab = e.Form.controls("TabControl1").basecontrol
tab.TabPages(0).controls.add(menuStrip)
tab.Select
menuStrip.Select


--  作者:blsu33
--  发布时间:2016/2/3 10:20:00
--  
就是 当打开项目时候 显示 窗口 系统管理  但是 焦点 没有了  e.Form.ActiveControl  为nothing

就注册这个菜单 会导致 点击第一下 鼠标时 窗口没有反应 再次点击时 才会出现下拉菜单

--  作者:大红袍
--  发布时间:2016/2/3 10:22:00
--  
 例子。
--  作者:blsu33
--  发布时间:2016/2/3 11:00:00
--  
恩 好像找到问题了 需要大改一下啊