Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
1 / 1 / 0
Регистрация: 02.10.2015
Сообщений: 4
1

Реализация шахматной доски с фигурами как DataGridView

07.11.2016, 16:18. Просмотров 802. Ответов 2
Метки нет (Все метки)


Вроде бы несложно, но запутался со свойствами.
Помещаю Грид в левую панель сплит контейнера (для примера реалисовал пока для 2 столбцов и 8 строк) и хочу, чтобы размеры Грида динамично менялись вместе с размерами формы. Т.е. предпологаю в будущем менять размеры фигур также соответственно размеру ячеек Грида:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
namespace Grid1
{
    public partial class Form1 : Form
    {
        DataGridView _grid1 = new DataGridView(); //2x2
        private System.Windows.Forms.DataGridViewTextBoxColumn __column1 = new DataGridViewTextBoxColumn(); //A
        private System.Windows.Forms.DataGridViewTextBoxColumn __column2 = new DataGridViewTextBoxColumn();//B
        
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            GUI_1();
        }
 
        private void GUI_1()
        {
            //Split vertical
            SplitContainer split1 = new SplitContainer();
            split1.Parent = this;
            split1.Dock = DockStyle.Fill;
            split1.Orientation = Orientation.Vertical;
            split1.SplitterWidth = 4;
            split1.SplitterDistance = 3 * this.Size.Width / 4;
            split1.Panel1.BackColor = SystemColors.Control;
            split1.Panel2.BackColor = SystemColors.Control;
 
 
 
 
            _grid1.Parent = split1.Panel1;
            _grid1.Dock = DockStyle.Fill;
            this.__column1.ReadOnly = false;
            this.__column2.ReadOnly = false;
            this._grid1.Columns.AddRange(new DataGridViewColumn[] {this.__column1,this.__column2 });
            this.__column1.HeaderText = "a";
            this.__column2.HeaderText = "b";
            this.__column1.Width = split1.Panel1.Width / 8;
            this.__column2.Width = this.__column1.Width;
            _grid1.Anchor = (AnchorStyles.Bottom | AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Left);
            _grid1.Dock = DockStyle.Fill;
            this.__column1.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            this.__column2.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            this.__column1.SortMode = DataGridViewColumnSortMode.NotSortable;
            this.__column2.SortMode = DataGridViewColumnSortMode.NotSortable;
            _grid1.RowTemplate.Height = this.__column1.Width;
            this._grid1.Rows.Add(7);
           // _grid1.Size = new System.Drawing.Size(3 * this.Size.Width / 4, this.Height);
           // _grid1.Anchor = (AnchorStyles.Bottom | AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Left);
            _grid1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; /
            /// _grid1.AllowUserToAddRows = false;
            _grid1.AllowUserToDeleteRows = false;
            _grid1.AllowUserToOrderColumns = false;
            _grid1.RowHeadersVisible = false; //left column will be not displayed
            split1.Panel1.Controls.Add(_grid1);
        }
    }
}
1. какие свойства Грида надо задействовать, чтобы размеры клеток доски менялись динамически в соответствии с размерами формы?
2. какие свойства грида позволяют при изменении размеров панели Split остаться квадратом?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.11.2016, 16:18
Ответы с готовыми решениями:

Красивая реализация шахматной доски
Добрый день. Думаю над реализацией шахматной доски. Необходимо создать массив доски, чтобы при...

Реализация шахматной доски с фигурами
Привет всем...нужно получить шахматную доску....Пробовал label-ами,только вот когда к ним добавляю...

Создать программу для обхода конем шахматной доски доски размерности 15х15
Создать программу для обхода конем шахматной доски доски размерности 15х15.

Как создать массив из квадратиков, по типу шахматной доски?
Здравствуйте! Очень прошу помощи. Мечтаю слиться с Visual Basic 6.0 в одно целое, ощущать его...

2
8123 / 4393 / 1725
Регистрация: 11.02.2013
Сообщений: 9,354
07.11.2016, 17:32 2
Цитата Сообщение от папусик Посмотреть сообщение
Вроде бы несложно, но запутался со свойствами.
Золотые слова. Потому что dgv не предназначен для таких манипуляций
0
1 / 1 / 0
Регистрация: 02.10.2015
Сообщений: 4
08.11.2016, 09:01  [ТС] 3
Я предполагал работать с картинками фигур, как с шахматными шрифтами, которые бы записывались в ячейки DGV и изменяли бы свой размер динамически с изменением размеров доски. У Вас есть другое решение (в смысле динамических размеров доски и фигур)? Пожалуйста подскажите.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.11.2016, 09:01

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

Как можно оптимизировать код генерации шахматной доски?
генерация шахматной доски - как можно оптимизировать? У меня для чередования записи чёрной/белой...

Даны координаты (как целые от 1 до 8) двух различных полей шахматной доски
Даны координаты (как целые от 1 до 8) двух различных полей шахматной доски. Если ферзь за один ход...

Координаты шахматной доски
Доброго времени суток, прошу вас помочь с задачей(ее решением). Даны координаты двух полей...

Король шахматной доски
Король шахматной доски размером 8х8 находится на коне в одной из клеток своего королевства. Он...

Массив шахматной доски
Добрый день! Долгое время почитывал форум без регистрации и вот решился, т.к. столкнулся в...

Метод шахматной доски
В общем надо решить то что в вложении.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.