В Visual Studio щелкните правой кнопкой мыши свой проект, а затем нажмите ADD | USER CONTROL
. Назовите новый элемент управления ListViewNF
и нажмите ADD
.
Просмотр кода для нового класса. Измените эту строку:
public partial class ListViewNF : UserControl
к этому:
public partial class ListViewNF : ListView
и перестроить. Вы получите ошибку компилятора о AutoScaleMode
- просто удалите строку в InitializeComponent
, которая вызывает ошибку:
// delete this line:
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
Пока ваш код будет выглядеть так:
public partial class ListViewNF : ListView
{
public ListViewNF()
{
InitializeComponent();
}
}
Измените это на:
public partial class ListViewNF : ListView
{
public ListViewNF()
{
InitializeComponent();
//Activate double buffering
this.SetStyle(ControlStyles.OptimizedDoubleBuffer |
ControlStyles.AllPaintingInWmPaint, true);
//Enable the OnNotifyMessage event so we get a chance to filter out
// Windows messages before they get to the form's WndProc
this.SetStyle(ControlStyles.EnableNotifyMessage, true);
}
protected override void OnNotifyMessage(Message m)
{
//Filter out the WM_ERASEBKGND message
if (m.Msg != 0x14)
{
base.OnNotifyMessage(m);
}
}
}
Перестройте ваш проект, и теперь вы должны увидеть ListViewNF
в вашем наборе элементов управления слева (справа вверху). Вы можете перетащить этот элемент управления на форму в конструкторе, как обычный ListView
.