Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2011, 07:04   #1
Abbath1349
Пользователь
 
Регистрация: 23.10.2010
Сообщений: 25
По умолчанию Рисование линии поверх формы и лейблов

Пишу крестики нолики. Подскажите как сделать,чтобы провести линию на форме поверх Labels.
Код:
public partial class Form1 : Form
    {
       
        Label[] X_0 = new Label[9];
        bool[] position = new bool[9];
       
        public Form1()
        {
            InitializeComponent();
            int x = 15, y = 15;
       
                for (int i = 0; i < 9; i++)
                {
                    X_0[i] = new Label();
                    X_0[i].Location = new Point(x, y);
                    X_0[i].Size = new Size(60, 60);
                    X_0[i].Text = "";
                    X_0[i].AutoSize = false;
                    X_0[i].BorderStyle = BorderStyle.Fixed3D;
                    X_0[i].BackColor = Color.Yellow;
                    X_0[i].Font = new Font("Arial", 40F);
                    X_0[i].TextAlign = ContentAlignment.MiddleCenter;
                    X_0[i].Tag = i;
                    X_0[i].Click += new System.EventHandler(Button_Click);
                    Controls.Add(X_0[i]);
                    x += 75;
                    if (i == 2 || i==5) { x = 15; y += 75; }
                    position[i] = false;
                  }
              
        
        }
        
        int q=0;
        protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
        {
            Graphics gr = e.Graphics;
            Pen myPen = new Pen(Color.Red, 3);
            Point one = new Point(40, 15);
            Point two = new Point(40, 200);
            gr.DrawLine(myPen, one, two);
        }
    
        void Button_Click(object sender, EventArgs e)
        {
            Label lclick = (Label)sender;
            int n = Convert.ToInt32(lclick.Tag);
            Random x = new Random();
            bool downl = true;
          
            if (!position[n])
              {
                    X_0[n].Text = "X";
                    position[n] = true;
                    if (q != 4)
                    {
                        while (downl)
                        {
                            int y = x.Next(0, 9);
                            if (!position[y])
                            {
                                X_0[y].Text = "0";
                                position[y] = true;
                                downl = false;
                                q++;
                            }
                        }
                    }      
                }
            
            }
            
}
Abbath1349 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рисование поверх картинки rokotokobot Мультимедиа в Delphi 10 18.02.2012 20:28
Двойное рисование линии на канве gs199 C++ Builder 1 17.05.2010 01:34
Рисование линии Cpluser Общие вопросы .NET 8 17.05.2010 00:43
Рисование линии Cpluser Общие вопросы .NET 4 21.04.2010 00:15
Рисование поверх DirectX Bibus Помощь студентам 0 25.06.2009 20:04