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

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

Gtk

Дописи

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

30.05.2024 18:10 Gtk

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

Демонстрація роботи з віджетом Expander

Віджет Expander дозволяє скривати чи відкривати блоки інших віджетів.

Expander

Для програмування використовую 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(800, 600);
        SetPosition(WindowPosition.Center);

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

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

        //Блок 1
        {
            HBox hBox = new HBox();
            vBox.PackStart(hBox, false, false, 5);

            Expander expander = new Expander("Блок 1");
            hBox.PackStart(expander, false, false, 5);

            VBox vBoxBlock = new VBox();
            expander.Add(vBoxBlock);

            HBox hBoxBlock = new HBox();
            vBoxBlock.PackStart(hBoxBlock, false, false, 5);

            Button button = new Button("Кнопка 1");
            hBoxBlock.PackStart(button, false, false, 5);
        }

        //Блок 2
        {
            HBox hBox = new HBox();
            vBox.PackStart(hBox, false, false, 5);

            Expander expander = new Expander("Блок 2");
            hBox.PackStart(expander, false, false, 5);

            VBox vBoxBlock = new VBox();
            expander.Add(vBoxBlock);

            HBox hBoxBlock = new HBox();
            vBoxBlock.PackStart(hBoxBlock, false, false, 5);

            Button button = new Button("Кнопка 2");
            hBoxBlock.PackStart(button, false, false, 5);
        }

        ShowAll();
    }
}

Visual Studio Code


© accounting.org.ua - 2024