[ad_1]
你好,
我正在用 C# 开发一个游戏项目。 我想创建 3 到 4 个用户控件以在我的项目中使用。 我想在 winformscontrol 库中创建用户控件,然后通过添加 winformscontrol 库的引用在另一个 Windows 窗体项目中使用它。
我的 usercontrol1 上有一个 label1 。 我想创建一个事件处理程序,无论我单击 label1 还是单击 usercontrol1,它都可以执行相同的操作。
我不明白该怎么做。 请任何人帮助我。
我不知道如何在创建新的 windowsforms 项目时在工具箱中获取用户控件。
我尝试过的:
using System.ComponentModel; namespace WinFormsControlLibrary1 { public partial class singlepattern : UserControl { [Browsable(true)] public event EventHandler UserControlClicked; public singlepattern() { InitializeComponent(); //after intialize compoment add same handler for all three controls this.Click += ControlClicked; this.label1.Click += ControlClicked; } [Browsable(true)] public Color label1BackColor { get => label1.BackColor; set => label1.BackColor = value; } [Browsable(true)] public Size label1Size { get => label1.Size; set => label1.Size = value; } private void label1_Click(object sender1, EventArgs e) { } //this method will "catch" all clicks public void ControlClicked(object sender, EventArgs e) { //raise event UserControlClicked?.Invoke(this, e); } public void UserControl_Click(object sender, EventArgs e) { } } }
解决方案1
假设您使用的是 Visual Studio:
步骤1: 创建自定义控件
在 Windows 窗体游戏项目中,右键单击解决方案资源管理器中的项目,然后选择 "Add"
然后选择 "User Control"
或者 "Custom Control"
User Control
: 通过组合现有控件创建的复合控件
Custom Control
: 您从头开始创建的控件
通过在窗体上添加和排列控件来设计自定义控件。
第2步: 编译项目
确保您的项目构建成功。 这是控件出现在工具箱中所必需的。
步骤3: 将控件添加到工具箱
右键单击 Visual Studio 中的工具箱。
选择 "Choose Items..."
在里面 "Choose Toolbox Items"
对话框,转至 ".NET Framework Components"
标签。
点击 "Browse..."
并找到项目的已编译 DLL 或 EXE(通常位于 "bin\Debug"
或者 "bin\Release"
您的项目的文件夹)。
选择 DLL 或 EXE 文件,然后单击 "Open"
步骤4: 验证工具箱中的控件
将控件添加到工具箱后,它应该出现在工具箱窗口中。 现在,您可以将自定义控件拖放到表单上,就像使用任何其他标准控件一样。
[ad_2]
コメント