использовать пользовательский элемент управления непосредственно в проекте Visual Studio - PullRequest
2 голосов
/ 04 апреля 2010

Я хочу использовать элемент управления "less" мерцания списка, найденный здесь http://geekswithblogs.net/CPound/archive/2006/02/27/70834.aspx

непосредственно в моем проекте c #.Я не хочу делать пользовательский проект управления пользователями, построить его в DLL, а затем импортировать его в мой проект.Я просто хочу, чтобы все это было в моей программе на C #, которую я делаю.

Я думаю, мне нужно добавить в свой проект класс и добавить код, но как я могу использовать элемент управления прямо сейчас в моем проекте?1006 *

Ответы [ 2 ]

2 голосов
/ 04 апреля 2010

В 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.

0 голосов
/ 04 апреля 2010

Откройте набор инструментов в вашем проекте Visual Studio. Затем нажмите «выбрать элементы». Нажмите кнопку обзора и выберите сборку, которая содержит элемент управления. Теперь вы можете использовать элемент управления в конструкторе. Надеюсь, это то, о чем вы спрашиваете.

...