Програми для обліку

Українське програмне забезпечення з відкритим кодом

Gtk

Дописи

Програмування / Gtk

25.07.2024 18:40 Gtk

Приклад програми на C# з використанням GtkSharp | Frame

Приклад використання віджету Frame - рамка з надписом навколо групи віджетів

Frame

Для програмування використовую Visual Studio Code.
Лінки на програми внизу допису.

В програмі Visual Studio Code створюємо новий проект
dotnet new console

Додаємо до проекту пакет GtkSharp
dotnet add package GtkSharp

Запуск програми
dotnet run

Program.cs
using Gtk;

class Program
{
    public static void Main()
    {
        Application.Init();
        new FirstWindow();
        Application.Run();
    }

    public static void Quit()
    {
        Application.Quit();
    }
}
FirstWindow.cs
using Gtk;

class FirstWindow : Window
{
    public FirstWindow() : base("Test")
    {
        SetDefaultSize(600, 350);
        SetPosition(WindowPosition.Center);

        DeleteEvent += delegate { Program.Quit(); };

        VBox vBox = new VBox();
        Add(vBox);

        HBox hBox = new HBox();
        vBox.PackStart(hBox, false, false, 5);

        Frame frame = new Frame
        {
            LabelXalign = 0.5f,
            Label = "Блок редагування полів"
        };

        hBox.PackStart(frame, false, false, 10);

        VBox vBoxFrame = new VBox() { BorderWidth = 10 };
        frame.Add(vBoxFrame);

        for (int i = 1; i < 6; i++)
        {
            HBox hBoxFrame = new HBox();
            vBoxFrame.PackStart(hBoxFrame, false, false, 5);
            hBoxFrame.PackStart(new Label($"Поле {i}:"), false, false, 5);
            hBoxFrame.PackStart(new Entry() { PlaceholderText = $"Поле {i}" }, false, false, 5);
            hBoxFrame.PackStart(new Label($"Додаткова інформація та опис для <b>поля {i}</b>") { UseMarkup = true }, false, false, 5);
        }

        HBox hBoxFrameButton = new HBox();
        vBoxFrame.PackStart(hBoxFrameButton, false, false, 5);
        hBoxFrameButton.PackStart(new Button("Зберегти"), false, false, 5);
        hBoxFrameButton.PackEnd(new Button("Закрити"), false, false, 5);

        ShowAll();
    }
}

Visual Studio Code


© accounting.org.ua - 2024