zoukankan      html  css  js  c++  java
  • 继承DataGridView

    代码
    public partial class DataGridViewEx : DataGridView
    {
    public delegate void ProcessEnterDeletegate();
    private event ProcessEnterDeletegate ProcessEnterDeletegateHandler;

    public DataGridViewEx()
    {
    InitializeComponent();
    }
    //public DataGridViewEx(ProcessEnterDeletegate del)
    //{
    // InitializeComponent();
    // ProcessEnterDeletegateHandler = del;
    //}

    public void SetHandler(ProcessEnterDeletegate del)
    {
    ProcessEnterDeletegateHandler
    = del;
    }

    protected override bool ProcessDialogKey(Keys keyData)
    {
    //是回车键
    if (keyData == (System.Windows.Forms.Keys.LButton | System.Windows.Forms.Keys.MButton | System.Windows.Forms.Keys.Back))
    {
    if (ProcessEnterDeletegateHandler != null) {
    ProcessEnterDeletegateHandler();
    }
    return true;
    }
    return base.ProcessDialogKey(keyData);
    }

    }



    /////////////// 调用页面///////////////////////

    public void SendKey()
    {
    SendKeys.Send(
    "{TAB}");
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    this.dataGridViewEx1.SetHandler(SendKey); //绑定处理程序
    this.dataGridViewEx1.Focus();
    this.f_sjzdTableAdapter.Fill(this.fSZJCM0420DataSet.F_sjzd);
    }

    //msdn的例子

    代码
    public class CustomDataGridView : DataGridView
    {
    [System.Security.Permissions.UIPermission(
    System.Security.Permissions.SecurityAction.LinkDemand,
    Window
    = System.Security.Permissions.UIPermissionWindow.AllWindows)]
    protected override bool ProcessDialogKey(Keys keyData)
    {
    // Extract the key code from the key value.
    Keys key = (keyData & Keys.KeyCode);

    // Handle the ENTER key as if it were a RIGHT ARROW key.
    if (key == Keys.Enter)
    {
    return this.ProcessRightKey(keyData);
    }
    return base.ProcessDialogKey(keyData);
    }

    [System.Security.Permissions.SecurityPermission(
    System.Security.Permissions.SecurityAction.LinkDemand, Flags
    =
    System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)]
    protected override bool ProcessDataGridViewKey(KeyEventArgs e)
    {
    // Handle the ENTER key as if it were a RIGHT ARROW key.
    if (e.KeyCode == Keys.Enter)
    {
    return this.ProcessRightKey(e.KeyData);
    }
    return base.ProcessDataGridViewKey(e);
    }
  • 相关阅读:
    Kubernetes 再深入一点点
    10分钟完成 mongodb replSet 部署
    网络篇
    p2p 打洞专场(转)
    Dockerfile 编写
    关于github 代码管理,协作开发
    Kubernetes 基于 ubuntu18.04 手工部署 (k8s)
    备忘 ubuntu ip 及 dns 的坑
    各种语言web性能简单对比测试
    vue 按需加载
  • 原文地址:https://www.cnblogs.com/wucg/p/1762249.html
Copyright © 2011-2022 走看看