描述:小弟写了一个label和TextBox的组合控件类LabelTextBox .cs,该类继承自System.Windows.Forms.UserControl,所以不得不写大量的属性和事件来提供对label和TextBox属性的支持(类没有直接继承TextBox,故所有TextBox属性信息丢失?)
问题:想请问高人能否直接继承自TextBox,然后通过重写OnPain来绘制一个Label出来?能否给出关键的写法?拜谢了!
问题:想请问高人能否直接继承自TextBox,然后通过重写OnPain来绘制一个Label出来?能否给出关键的写法?拜谢了!
解决方案 »
- c#将excel导入到系统日期时间格式问题
- 哪个效率更高?
- 服务端只能接受一次客户端发来的信息为什么会出现这种情况
- 用SQL语句如何求方差、标准差等统计信息。我使用的是ACCESS数据库
- 文件保密工作-----------在线等待-----很急
- 无边框窗体的最大化问题?
- 尝试创建web项目或打开位与http://localhost/webapplication1的web项目时无法与服务器建立连接 怎么解决???
- 俄罗斯方块单机对打多线程解决方法,大家有什么好的方法?
- 请问在C#中要怎样关机?
- ZLib C# 的接口问题
- dropdownlist与ie中的后退问题!急!!!
- datagrid中,如何使第一行之后的新产生的一行的数据,某些字段的值与上一行的一致
举个例子,假设现在要继承TextBox的KeyPress事件。那么可以在控件中增加如下代码:public delegate void TxtKeyPressHandler(object sender,System.Windows.Forms.KeyPressEventArgs e);
public event TxtKeyPressHandler OnTextKeyPress;假设组合控件中TextBox的ID为textBox1,在其KeyPress事件里触发自定义事件:private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if(OnTextKeyPress!=null)
{
OnTextKeyPress(sender,e);
}
}=====
在用户窗体中则像一般使用一样,增加一个OnTextKeyPress事件即可,假设Form中控件的ID为userControl1,则只要声明一下
userControl1.OnTextKeyPress+=new MyUserControl.TxtKeyPressHandler(userControl1_OnTextKeyPress);
private void userControl1_OnTextKeyPress(object sender, KeyPressEventArgs e)
{
MessageBox.Show("Key has been pressed");
}
我的问题是:能否直接继承自TextBox,然后通过重写OnPain来绘制一个Label出来?