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

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

Gtk

Дописи

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

29.07.2024 10:29 Gtk

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

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

ProgressBar

Для програмування використовую 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, true, false, 0);

        ProgressBar progressBar = new ProgressBar();
        hBox.PackStart(progressBar, true, false, 10);

        ProgressBar progressBar2 = new ProgressBar();
        hBox.PackStart(progressBar2, true, false, 10);

        GLib.Timeout.Add(100, new GLib.TimeoutHandler(() =>
        {
            progressBar.Pulse();
            return true;
        }));

        bool direction = false;
        double step = 0.05;

        GLib.Timeout.Add(100, new GLib.TimeoutHandler(() =>
        {
            if (direction)
                progressBar2.Fraction -= step;
            else
                progressBar2.Fraction += step;

            if (progressBar2.Fraction == 1.0)
                direction = true;
            if (progressBar2.Fraction == 0)
                direction = false;

            return true;
        }));

        ShowAll();
    }
}

Visual Studio Code


© accounting.org.ua - 2024