Lupu5R3x Ответов: 1

Отключить копирование текста метки в буфер обмена при двойном клике


Привет Я пытаюсь создать пользовательский messagebox.
Но если дважды щелкнуть по тексту (я использую метку), то текст метки будет скопирован в буфер обмена.

Я погуглил и нашел вот это:
private class SingleClickLabel : Label
    {
        protected override CreateParams CreateParams
        {
            get
            {
                new SecurityPermission(SecurityPermissionFlag.UnmanagedCode).Demand();

                CreateParams cp = base.CreateParams;
                cp.ClassStyle &= ~0x0008;
                cp.ClassName = null;

                return cp;
            }
        }
    }

Но я понятия не имею, как использовать этот класс, и поэтому надеюсь, что кто-то здесь сможет помочь мне правильно его использовать.

Что я уже пробовал:

погуглил, чтобы посмотреть, как использовать этот код.

Richard MacCutchan

Не тратьте время на копирование кода из Google, особенно если вы его не понимаете. Сделайте шаг назад и покажите нам код, который вы написали, и объясните, в чем проблема.

Lupu5R3x

Вот почему я задал свой вопрос, чтобы узнать, как использовать код, если я не спрашиваю, я не учусь, хотя чаще всего я могу найти ответ на свои вопросы с помощью google, и именно так я предпочитаю это делать, я ненавижу задавать вопросы - конечно, это означает, что я не смог найти ответ самостоятельно :(.

Все, что у меня сейчас есть, - это простая WinForm, которая выглядит как messagebox.
Это сборка на примерах кода, найденных googleing, я мог бы создать его с нуля, но не видел причин воссоздавать колесо :).

Моя проблема заключается в том, что если я дважды щелкну по метке, которую использую для отображения сообщения, сообщение будет скопировано в буфер обмена, и я хотел бы предотвратить это.

/LR

1 Ответов

Рейтинг:
6

Dave Kreskowiak

Этот класс просто создает новый элемент управления. Как только вы добавите этот класс в свой проект и скомпилируете его, элемент управления появится в панели инструментов, когда вы перейдете в конструктор для своей формы.


Lupu5R3x

Сры, C# является новым для меня.
Я не понимаю, вы отвечаете :(.
Я добавил этот класс в свой код формы проекта (а не в код дизайна).

/LR

Lupu5R3x

Я понял это, я просто добавил код к коду дизайна и изменил свою метку на SingleClickLabel.

Хотя я бы предпочел добавить его в набор инструментов, чтобы использовать в других проектах, не копируя код в конструктор, но думаю, что когда-нибудь в будущем я выясню, как это сделать.

/LR

Dave Kreskowiak

Вы создаете отдельный проект элемента управления, чтобы создать повторно используемый элемент управления. Замените класс, входящий в проект, классом, который у вас есть, и скомпилируйте его. В этом-то все и дело.