子类一个控件

时间:2018-04-23 20:09:09

标签: c# subclass keyboard-events

所以我知道如何创建子类并调用它们,但是当我必须调用/使用控件的子类时,我会迷失方向:例如:

   public class KeyboardButton : Button
    {
        public void SimulateButtonDown()
        {
            this.OnMouseDown(new MouseEventArgs(MouseButtons.Left, 0, 1, 1, 0));
        }

        public void SimulateButtonUp()
        {
            this.OnMouseUp(new MouseEventArgs(MouseButtons.Left, 0, 1, 1, 0));
        }
    }

this article中创建。 如何使用,特别是当我有多个控制按钮时,我想调用方法“SimulateButtonDown()”。

1 个答案:

答案 0 :(得分:2)

您使用的是WinForms还是WPF?为了这个答案,我将假设WinForms。

首先,将您在此处发布的代码添加到您的WinForms项目中。然后编译它。完成后,KeyboardButton应自动添加到您的工具箱中。在Visual Studio的设计器中打开一个表单或用户控件,您应该看到一个名为" YourProjectName Components"的部分。此部分中应包含KeyboardButton。只需将其拖放到表单或用户控件上即可。

如果要替换现有表单或用户控件上的现有按钮,可能更容易更新xxx.Designer.cs中的代码。 (注意:编辑xxx.Designer.cs文件时要小心。)在解决方案资源管理器中,找到包含要替换的按钮的表单或用户控件。展开表单/用户控件的节点,您应该看到一个名为Form1.Designer.cs的文件。双击打开该文件。在那里,对于每个现有按钮,您应该看到诸如this.saveButton = new System.Windows.Forms.Button();之类的行。将System.Windows.Forms.Button替换为YourNamespace.KeyboardButton。您还会看到private System.Windows.Forms.Button saveButton;之类的行。替换命名空间&也有班级名称。

在您的表单/用户控件上获得KeyboardButton之后,只需编写{{}之类的代码,即可在表单/用户控件中调用SimulateButtonDownSimulateButtonUp {1}}。