v1.0.28: фикс раскладки раздела «Отчёты»

Во второй строке (ИИ) убраны конфликтующие якоря — поле «Запрос ИИ»
тянется по ширине, формат и кнопка пиннятся вправо с пересчётом при
ресайзе, контролы больше не наезжают друг на друга.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Exest 2026-08-07 16:45:52 +03:00
parent 4d398aca84
commit 4b43907353
6 changed files with 20 additions and 7 deletions

View File

@ -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")]

View File

@ -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,