none
Кнопка RRS feed

  • Вопрос

  • Добрый день я пишу одно симпатичное приложение. Я для начало я решил создать одну кнопку которая будет работать, как кнопка в windows или обычный  Button. У меня простой вопрос, подскажите какие свойства использовать и как контролировать несколько кнопок. я думаю что их нужно запускать в  отдельный процесс, чтобы не создавать цикла проверки, так можно контролировать их с  помощью внутренних свойств windows. Других способов я не знаю, или подскажите.
    2 сентября 2014 г. 19:01

Ответы

  • Ок.

    1. Создаем пустой Windows From проект

    2. Добавляем новый Item в проект UserControl дав ему имя MyButton

    3. Пишем у него вот такой код:

    public partial class MyButton : UserControl
    {
        public MyButton()
        {
            InitializeComponent();
            Paint += MyButton_Paint;
            Click += MyButton_Click;
        }
    
        void MyButton_Click(object sender, System.EventArgs e)
        {
            MessageBox.Show("Привет!");
        }
    
        void MyButton_Paint(object sender, PaintEventArgs e)
        {
            Graphics gr = e.Graphics;
            gr.Clear(this.BackColor);
            gr.DrawEllipse(new Pen(Color.Red), 0, 0, Width - 2, Height - 2);
        }
    }

    4. Билдим решение.

    5. На главную форму кидаем несколько наших UserControl-ов

    6. Запускаем и все работает:

    • Помечено в качестве ответа avrudoi 3 сентября 2014 г. 15:51
    3 сентября 2014 г. 10:09
    Отвечающий
  • спасибо думаю разберусь, не обижайтесь. нащел информацию в другом источнике.
    • Помечено в качестве ответа avrudoi 3 сентября 2014 г. 10:07
    3 сентября 2014 г. 10:07

Все ответы

  • Такое ощущение, что вы писали вопрос на другом языке, а потом перевели в переводчике.

    Полный сумбур! Совершенно ничего не понятно в вашем вопросе.


    VB.Net - WPF, WinRT, WP

    3 сентября 2014 г. 5:45
    Отвечающий
  • Добрый день.

    Я бы посоветовал вам почитать что-нибудь про ООП и самое главное про события. А потом, не изобретать велосипед и пользоваться уже существующими парадигмами. Например, если вы рисуете кнопки через GDI+ на окне, то подписавшись на события мыши окна, я бы анализировал место клика и вызывал соответствующие события у своих кнопок. Но сначала, читать основы, а потом придумывать велосипеды. Ну и когда разберетесь с ООП, рекомендую почитать про WPF, т.к. если вам нужно всего лишь изменить внешний вид, то он лучше подходит для таких задач. Вот здесь можете посмотреть пример.

    3 сентября 2014 г. 6:23
    Отвечающий
  • вот все дело в анализе, дело в том что проблемма состоит в анализировании кнопок как это делаться в компиляторе, а может есть способ по проще. Допустим нам нужен анализ кнопки, что мы делаем? а можит я и ошибся все дело в классах, и свойвах, вообщем не книг пока ненадо, я перепутал структурное програмирование с объектным. Допустим я создал класс, потом два три свойства на наведение мыши в облость 3D  кнопки. Подскажите код.
    3 сентября 2014 г. 8:37
  • Доктор, нет, учиться в ВУЗе я не хочу, приведите мне описание, как вырезать аппендицит.

    Еще раз. Я написал выше как можно решить описанную вами задачу. Для того, чтобы понять способ решения, вам необходимо разобраться с базовыми принципами. Сейчас мы с вами говорим на разных языках.

    3 сентября 2014 г. 9:12
    Отвечающий
  • Я прошу пример, обыкновенного кода. 1 у меня высшие образование Инженерно техническое. 2 мне ненужно с вами понимание если на то пошло у меня свое предствление номальных классов, которое я получил в университете. 3 у меня достачно основ чтобы понять о чем вы пишите про ООП. 4 книги у же читал, чтобы понять что к чему, а углубленого програмирования я непрошу, мне нужен пример, который  позволит посомтреть код для своей кнопки и мыши в своем классе, если вам трудно или вы считаете что ваша работа не стоит моего внимания то напишите об этом, и я обращусь к другим источникам информации. Жду ответа.
    3 сентября 2014 г. 9:51
  • спасибо думаю разберусь, не обижайтесь. нащел информацию в другом источнике.
    • Помечено в качестве ответа avrudoi 3 сентября 2014 г. 10:07
    3 сентября 2014 г. 10:07
  • Ок.

    1. Создаем пустой Windows From проект

    2. Добавляем новый Item в проект UserControl дав ему имя MyButton

    3. Пишем у него вот такой код:

    public partial class MyButton : UserControl
    {
        public MyButton()
        {
            InitializeComponent();
            Paint += MyButton_Paint;
            Click += MyButton_Click;
        }
    
        void MyButton_Click(object sender, System.EventArgs e)
        {
            MessageBox.Show("Привет!");
        }
    
        void MyButton_Paint(object sender, PaintEventArgs e)
        {
            Graphics gr = e.Graphics;
            gr.Clear(this.BackColor);
            gr.DrawEllipse(new Pen(Color.Red), 0, 0, Width - 2, Height - 2);
        }
    }

    4. Билдим решение.

    5. На главную форму кидаем несколько наших UserControl-ов

    6. Запускаем и все работает:

    • Помечено в качестве ответа avrudoi 3 сентября 2014 г. 15:51
    3 сентября 2014 г. 10:09
    Отвечающий