none
if (e.Button = MouseButtons.Left) RRS feed

  • Вопрос

  • using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Threading.Tasks;
    using System.Windows.Forms;

    namespace WindowsFormsApplication2
    {
        static class Program
        {
            /// <summary>
            /// The main entry point for the application.
            /// </summary>
            [STAThread]
            static void Main()
            {
                Application.Run(new MyButtonClass());

            }

        }
        class MyButtonClass : Form
        {
            private Button MrButton;
            public MyButtonClass()
            {
                MrButton = new Button()
                {
                    Text = "Нажми меня полностью ;)",
                    Top= 100,
                    Left=100,
                    Height=50,
                    Width=100
                };

                MrButton.Click += new System.EventHandler(MyButtonClickEventHandler);
                this.Controls.Add(MrButton);

            }
            void MyButtonClickEventHandler(object sender, EventArgs e)
            {
                MrButton.Text = "Еще!!Еще!!!клинки меня полнотью!";
            }
            public void TheMouseIsDown(object sender, MouseEventArgs e)
            {
                if (e.Button = MouseButtons.Left)
                this.Text="Нажата левая кнопка мыши";

            }

        }
    }

    Error    1    Cannot implicitly convert type 'System.Windows.Forms.MouseButtons' to 'bool'    c:\users\user\documents\visual studio 2013\Projects\WindowsFormsApplication2\WindowsFormsApplication2\Program.cs    46    17    WindowsFormsApplication2
    Error    2    Property or indexer 'System.Windows.Forms.MouseEventArgs.Button' cannot be assigned to -- it is read only    c:\users\user\documents\visual studio 2013\Projects\WindowsFormsApplication2\WindowsFormsApplication2\Program.cs    46    17    WindowsFormsApplication2

    Делаю все по книгее проверил раз 10, поискал на форумах,     результата 0

                         
    25 января 2015 г. 19:49

Ответы

  • Вы перепутали == и = 

    Первое оператор сравнения, а второе присваивания.

    Таким образом вместо того чтоб проверить какая клавиша нажата вы пытайтесь присвоить клавише значение.

    Это невозможно так как оно только для чтения, происходит ошибка 2.

    Потом присвоеное значение используется в операторе if. Это тоже неправильно так как это значение имеет тип MouseButtons, а оператор if требует значение типа bool. Отсюда ошибка 1.


    This posting is provided "AS IS" with no warranties, and confers no rights.

    25 января 2015 г. 21:21
    Модератор