以下都是应用程序:1.菜单名存在一个表的字段里,读取这个字段名,也是就到得采单名,用这个名来控制菜单
在Delphi中这样写:
TMenuItem(FindComponent(YourMenuName)).Enabled:=False;
在c#怎么写???2.一个窗口上有很多输入框,怎样实现按回车键移动一下一输入框,谢谢!

解决方案 »

  1.   

    Private Sub SimulateTab(ByVal pStrkeyChar As Char)
            'KeyChar为回车键
            If pStrkeyChar = Chr(Keys.Enter) Then
                '模拟"TAB"键
                SendKeys.Send("{TAB}")
            End If
        End Sub当输入回车时用SendKeys.Send("{TAB}") 模拟
    sub cboFactoryLevel_KeyPress
       SimulateTab(e.KeyChar)
    end sub 问题1
    #Region "CreateMenu 创建菜单"
        Private Sub CreateMenu()
            Try            Dim AddBadFriendsmenu As MenuItemEx = New MenuItemEx("添加到黑名单", New EventHandler(AddressOf OnContextMenu))
                Dim ScanMessage As MenuItemEx = New MenuItemEx("查看信息", New EventHandler(AddressOf OnContextMenu))
                Dim SendMessage As MenuItemEx = New MenuItemEx("发送信息", New EventHandler(AddressOf OnContextMenu))
                Dim ScanInfor As MenuItemEx = New MenuItemEx("查看资料", New EventHandler(AddressOf OnContextMenu))
                Me.ContextMenu1.MenuItems.Add(0, AddBadFriendsmenu)
                Me.ContextMenu1.MenuItems.Add(1, ScanMessage)
                Me.ContextMenu1.MenuItems.Add(2, SendMessage)
                Me.ContextMenu1.MenuItems.Add(3, ScanInfor)            Dim UpLine As MenuItemEx = New MenuItemEx("上线", New EventHandler(AddressOf OnContextMenu2))
                Dim OutLine As MenuItemEx = New MenuItemEx("离线", New EventHandler(AddressOf OnContextMenu2))
                Me.ContextMenu2.MenuItems.Add(0, UpLine)
                Me.ContextMenu2.MenuItems.Add(1, OutLine)
                '''异常处理
            Catch ex As Exception
                ProjectException.ShowErrMsg("frmClient", "CreateMenu", ex.Message)
            End Try
        End Sub
    #End Region#Region "OnContextMenu 菜单处理事件"    Private Sub OnContextMenu(ByVal sender As Object, ByVal e As EventArgs)
            Dim item As MenuItemEx = CType(sender, MenuItemEx)
            If item.Text = "添加到黑名单" Then
                If IsLogin = True Then
                    Dim index As Integer
                    index = Me.OutlookBarBand1.Items.IndexOf(RightHititem)
                    If index >= 0 Then
                        Dim value As Integer = MessageBox.Show("确定要将好友" & RightHititem.Text.Trim & "加入黑名单?", "UU", MessageBoxButtons.OKCancel, MessageBoxIcon.Information)
                        If value = 1 Then
                            Me.OutlookBarBand1.Items.RemoveAt(index)
                            RemoveHandler RightHititem.FlashedItem, AddressOf FlashedItemed
                            Me.AxWinsock1.SendData("161:" & MyInfor.UserID & ":" & RightHititem.Tag)
                        End If
                    End If
                    index = Me.OutlookBarBand2.Items.IndexOf(RightHititem)
                    If index >= 0 Then
                        Dim value As Integer = MessageBox.Show("确定要将陌生人" & RightHititem.Text.Trim & "加入黑名单?", "UU", MessageBoxButtons.OKCancel, MessageBoxIcon.Information)
                        If value = 1 Then
                            Me.OutlookBarBand2.Items.RemoveAt(index)                        RemoveHandler RightHititem.FlashedItem, AddressOf FlashedItemed
                            Me.AxWinsock1.SendData("161:" & MyInfor.UserID & ":" & RightHititem.Tag)
                        End If
                    End If
                End If
            ElseIf item.Text = "查看信息" Then        ElseIf item.Text = "发送信息" Then        ElseIf item.Text = "查看资料" Then        End If
        End Sub
    #End Region
      

  2.   

    1.
    menuStrip1.Items[YourMenuName].Enabled = false ;2.设置各输入框的tabIndex属性,然后在各输入框的KeyUp事件中如下代码。
      (也可自定义一个TextBox控件,把下面的代码写在自定义控件中)        private void textBox1_KeyUp(object sender, KeyEventArgs e)
            {
                if ( e.KeyData == Keys.Enter )
                {
                    SendKeys.Send("{tab}");
                }
            }
      

  3.   

    to: yuqi508(毛路) 谢谢!
    问题1:只要把delphi写成c#就行了
    yormenuname 为字段中读取的值,如menu1 这是菜单名,我要把这个
    delphi这样写,可以控制这个菜单,在c#怎么写???大家帮我呀TMenuItem(FindComponent(YourMenuName)).Enabled:=False;
      

  4.   

    this.menuItem1.Text = "yormenuname ";
      

  5.   

    问题1:只要把delphi写成c#就行了
    yormenuname 为字段中读取的值,如menu1 这是菜单名,我要把这个delphi这样写,可以控制这个菜单,在c#怎么写???大家帮我呀TMenuItem(FindComponent(YourMenuName)).Enabled:=False;
      

  6.   

    在c#中没有FindCOmponent类似的方法,但可以自己写一个很简单:
    private MenuItem GetMenuByText(string menuText)
    {
    for (int i=0;i<contextMenu1.MenuItems.Count;i++)
    {
    if (contextMenu1.MenuItems[i].Text==menuText)
    {
    return contextMenu1.MenuItems[i];
    }
    }
    return null;
    }
      

  7.   

    关注一下,我以前也遇到这个问题,但是好像没有又好又简单的方法,因为c#中菜单项没有Name属性。解决方法要么是用Text属性代替Name属性,但是不太好,要么派生MenuItem类,弄出个Name属性,但是太麻烦。
    楼主可以参考一下:
    http://community.csdn.net/Expert/topic/4146/4146668.xml?temp=.3326532