任何控件。但最好是全部(TextBox、Panel、Button、LinkLabel、TabControl 等)。我想做的是:
public class Something
{
public String isBetterThan { get; set; }
public String Author { get; set; }
}
public void button1_Click(object sender, EventArgs e)
{
panelControl1.ClassObject = new Something()
{
isBetterThan = "nothing.",
Author = "Unknown"
};
}
所以从上面的代码中,您可以看到它的作用类似于 .Location 属性,您可以在其中为其分配一个新值。我想存储这些信息,以便以后我可以简单地这样做:
public void getClassDetailsButton_Click(object sender, EventArgs e)
{
Something something = (Something)panelControl1.ClassObject;
MessageBox.Show("Something is better than " + something.isBetterThan);
}
最佳答案
您可以通过继承要添加功能的控件来创建自定义控件。像这样的东西应该可以工作(以按钮为例)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
class SomethingButton : Button
{
public Something mySomething
{ get; set; }
}
public class Something
{
public String isBetterThan { get; set; }
public String Author { get; set; }
}
}
用法
somethingButton1.mySomething = new Something() { isBetterThan = "nothing",
Author = "Unknown"
};
关于c# - 如何在 WinForms 中扩展控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18069179/