上一篇博客里说到,当我们编写一个控件直接继承于Control,并且里面Add了一个ComboBox的时候的问题。
今天继续接着这个说。
有的人可能会觉得奇怪,自定义控件不是直接新建一个UserControl就好了吗,干嘛用代码直接写,直接继承Control?
这个我就不多说了,总之制作自定义控件不光可以使用UserControl。有的时候用Control会更好一些。
那么今天的问题是,当我们按照以下的代码写了一个控件,并且将之拖到到窗体上的时候,我们会发现。
即使在设计试图下(还没有运行程序的时候),我们的鼠标也依然可以直接点进这个Control里的ComboBox。并且还可以用键盘输入值。
这个是非常诡异的一个表现,如果你是要做控件给别人用的话,这个现象就会显示出你不够专业。
示例代码:
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Data;
using System.ComponentModel;
namespace WindowsFormsApplication1
{
public class TestComboBox : Control
{
private ComboBox m_combo;
public Control GetInnerControl()
{
return m_combo;
}