[SIZE=2][COLOR=#0000ff]this[/COLOR][/SIZE][SIZE=2].AutoSize = [/SIZE][SIZE=2][COLOR=#0000ff]true[/COLOR][/SIZE][SIZE=2];[/SIZE]
[SIZE=2][COLOR=#0000ff]this[/COLOR][/SIZE][SIZE=2].AutoSizeMode = [/SIZE][SIZE=2][COLOR=#008080]AutoSizeMode[/COLOR][/SIZE][SIZE=2].GrowOnly;[/SIZE]
Form.AutoSize
1) На форме лежит DataGridView.
2) Свойства AutoSizeRowsMode и AutoSizeColumnsMode установлены на AllCells
3) При загрузке формы происходит заполнение DataGridView из таблицы
Как растянуть форму по ширине DataGridView?
Это не помогает почему-то: :(
Код:
Есть еще такой вариант(тупой наверно;)):
Код:
[SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] lenStr = 0;[/SIZE]
[SIZE=2][COLOR=#0000ff]for[/COLOR][/SIZE][SIZE=2] ([/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] i = 0; i < dsMine.Tables[tableName].Rows.Count; i++)[/SIZE]
[SIZE=2]{[/SIZE]
[SIZE=2][COLOR=#0000ff]string[/COLOR][/SIZE][SIZE=2] str = dsMine.Tables[tableName].Rows.ItemArray[1].ToString();[/SIZE]
[SIZE=2][COLOR=#0000ff]if[/COLOR][/SIZE][SIZE=2] (str.Length > lenStr)[/SIZE]
[SIZE=2]lenStr = str.Length;[/SIZE]
[SIZE=2]}[/SIZE]
[SIZE=2][SIZE=2][COLOR=#0000ff]this[/COLOR][/SIZE][SIZE=2].Width = lenStr * X;[/SIZE]
[/SIZE]
[SIZE=2][COLOR=#0000ff]for[/COLOR][/SIZE][SIZE=2] ([/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] i = 0; i < dsMine.Tables[tableName].Rows.Count; i++)[/SIZE]
[SIZE=2]{[/SIZE]
[SIZE=2][COLOR=#0000ff]string[/COLOR][/SIZE][SIZE=2] str = dsMine.Tables[tableName].Rows.ItemArray[1].ToString();[/SIZE]
[SIZE=2][COLOR=#0000ff]if[/COLOR][/SIZE][SIZE=2] (str.Length > lenStr)[/SIZE]
[SIZE=2]lenStr = str.Length;[/SIZE]
[SIZE=2]}[/SIZE]
[SIZE=2][SIZE=2][COLOR=#0000ff]this[/COLOR][/SIZE][SIZE=2].Width = lenStr * X;[/SIZE]
[/SIZE]
З.Ы.1: В DataGridView отображается только одно поле
З.Ы.2: "X" в задании ширины формы, должна быть ширина символа шрифта, используемого в DataGridView..Как получить ширину - не знаю:confused:
З.Ы.2: int width = this.CreateGraphics().MeasureString("X",this.Font).Width;
Цитата: Ap0k
может dataGridView1.PreferredSize?
Не всегда работает! лично у меня это свойство не меняется в зависимости от данных... всегда 140! )))
[SIZE=2]Свойство AutoSize должно быть установлено в true до манипуляций с таблицей, после заполнения таблицы вызови для формы Update.[/SIZE]
Цитата: 3A3-968M
[SIZE=2]Свойство AutoSize должно быть установлено в true до манипуляций с таблицей, после заполнения таблицы вызови для формы Update.[/SIZE]
И что должно произойти??;) У меня ровным счетом ничего не происходит.. Всегда остается одна и та же ширина!!
Цитата: koltaviy
И что должно произойти??;) У меня ровным счетом ничего не происходит.. Всегда остается одна и та же ширина!!
Возможно это глюки с Windows Forms. Т.к. у меня подобная ситуация отрабатывается нормально. Может стоит обновить .NET Framework. У меня, например, до обновления в ImageList'е могли находиться только 13 изображений.
Мягко говоря не уверен!!..:(