Rad*_*ant 1 c# case button winforms
你能帮帮我吗?我在winforms.designer.cs中有所有按钮,我为所有按钮分配了相同的处理程序.处理程序是MouseEnter和MouseLeave.我需要找到所有按钮和分配给每个不同的MouseEnter和MouseLeave.
我在一个按钮上尝试了这个,但它不起作用.
private void createButton_MouseEnter(object sender, EventArgs e)
{
createButton.Cursor = NativeMethods.LoadCustomCursor(Path.Combine(collection.source, collection.cursor_hand));
switch (Name)
{
case "createButton":
this.createButton.BackgroundImage = ((System.Drawing.Image)(Properties.Resources.create_on));
break;
}
}
Run Code Online (Sandbox Code Playgroud)
您可以使用OfType扩展方法轻松遍历所有按钮,如下所示:
foreach(var button in this.Controls.OfType<Button>())
{
button.MouseEnter += createButton_MouseEnter;
button.MouseLeave += createButton_MouseEnter;
}
Run Code Online (Sandbox Code Playgroud)
而在你的createButton_MouseEnter,如果你想获得电流Button's Name可以做到以下几点:
private void createButton_MouseEnter(object sender, EventArgs e)
{
var currentButton = sender as Button;
var name = currentButton.Name;
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6169 次 |
| 最近记录: |