v1.0.28: фикс раскладки раздела «Отчёты»
Во второй строке (ИИ) убраны конфликтующие якоря — поле «Запрос ИИ» тянется по ширине, формат и кнопка пиннятся вправо с пересчётом при ресайзе, контролы больше не наезжают друг на друга. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
4d398aca84
commit
4b43907353
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -32,6 +32,6 @@ using System.Runtime.InteropServices;
|
||||
// пїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅ пїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ
|
||||
// пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ "*", пїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅ:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.27.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.27.0")]
|
||||
[assembly: AssemblyVersion("1.0.28.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.28.0")]
|
||||
|
||||
|
||||
@ -34,7 +34,7 @@ namespace Электронная_Фармация.UserControls
|
||||
{
|
||||
Dock = DockStyle.Fill;
|
||||
|
||||
var top = new Panel { Dock = DockStyle.Top, Height = 90 };
|
||||
var top = new Panel { Dock = DockStyle.Top, Height = 96 };
|
||||
|
||||
var lblFrom = new Label { Text = "С", AutoSize = true, Left = 10, Top = 15 };
|
||||
_dtFrom = new DateTimePicker { Format = DateTimePickerFormat.Short, Width = 110, Left = 30, Top = 11, Value = DateTime.Today.AddMonths(-1) };
|
||||
@ -50,12 +50,12 @@ namespace Электронная_Фармация.UserControls
|
||||
|
||||
// Вторая строка — свободный запрос к ИИ: клиент пишет что хочет, ИИ отдаёт Word/Excel.
|
||||
var lblAi = new Label { Text = "Запрос ИИ:", AutoSize = true, Left = 10, Top = 57 };
|
||||
_txtPrompt = new TextBox { Left = 88, Top = 53, Width = 360, Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right };
|
||||
_cboFormat = new ComboBox { DropDownStyle = ComboBoxStyle.DropDownList, Left = 456, Top = 53, Width = 90, Anchor = AnchorStyles.Top | AnchorStyles.Right };
|
||||
_txtPrompt = new TextBox { Left = 88, Top = 53, Width = 360 };
|
||||
_cboFormat = new ComboBox { DropDownStyle = ComboBoxStyle.DropDownList, Top = 53, Width = 90 };
|
||||
_cboFormat.Items.AddRange(new object[] { "Word", "Excel" });
|
||||
_cboFormat.SelectedIndex = 0;
|
||||
_btnAi = new Button { Text = "🤖 Сформировать ИИ", Left = 554, Top = 52, Width = 170, Height = 26, Anchor = AnchorStyles.Top | AnchorStyles.Right };
|
||||
var lblHint = new Label { AutoSize = true, Left = 88, Top = 76, ForeColor = Color.Gray,
|
||||
_btnAi = new Button { Text = "🤖 Сформировать ИИ", Top = 52, Width = 176, Height = 26 };
|
||||
var lblHint = new Label { AutoSize = true, Left = 88, Top = 78, ForeColor = Color.Gray,
|
||||
Text = "Напр.: «закупки по поставщикам за июль», «топ товаров за 3 месяца», «заказы у Farmsnab»" };
|
||||
|
||||
var tip = new ToolTip();
|
||||
@ -63,6 +63,19 @@ namespace Электронная_Фармация.UserControls
|
||||
|
||||
top.Controls.AddRange(new Control[] { lblAi, _txtPrompt, _cboFormat, _btnAi, lblHint });
|
||||
|
||||
// Правые контролы пиннуем вручную (надёжнее якорей — не наезжают при любой ширине):
|
||||
// кнопка и формат прижаты к правому краю, поле запроса тянется до них.
|
||||
void LayoutToolbar()
|
||||
{
|
||||
const int pad = 12, gap = 8;
|
||||
int w = top.ClientSize.Width;
|
||||
_btnAi.Left = Math.Max(_txtPrompt.Left + 180, w - pad - _btnAi.Width);
|
||||
_cboFormat.Left = _btnAi.Left - gap - _cboFormat.Width;
|
||||
_txtPrompt.Width = Math.Max(160, _cboFormat.Left - gap - _txtPrompt.Left);
|
||||
}
|
||||
top.Resize += (_, __) => LayoutToolbar();
|
||||
LayoutToolbar();
|
||||
|
||||
_grid = new DataGridView
|
||||
{
|
||||
Dock = DockStyle.Fill,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user