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

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

Gtk

Дописи

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

29.07.2024 09:15 Gtk

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

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

Label

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

        //Звичайний надпис
        {
            Label label = new Label("Надпис");
            Append(vBox, label);
        }

        //Надпис який можна виділити
        {
            Label label = new Label("Надпис який можна виділити") { Selectable = true };
            Append(vBox, label);
        }

        //Лінк
        {
            Label label = new Label("Лінк <a href=\"https://accounting.org.ua\">відкрити у браузері</a>") { UseMarkup = true };
            Append(vBox, label);
        }

        //Надпис з маркованим текстом
        {
            Label label = new Label("<b>Надпис</b> <i>курсив</i> <u>підкреслений</u>") { UseMarkup = true };
            Append(vBox, label);
        }

        //Надпис з одинарним підкресленням
        {
            string text = "Текст_з_одинарним_підкресленням";

            Label label_ = new Label(text) { UseUnderline = false };
            var hBox = Append(vBox, label_);

            Label label = new Label(text) { UseUnderline = true };
            Append(hBox, label);
        }

        ShowAll();
    }

    HBox Append(VBox vBox, Widget widget)
    {
        HBox hBox = new HBox();
        vBox.PackStart(hBox, false, false, 5);

        hBox.PackStart(widget, false, false, 5);
        return hBox;
    }

    void Append(HBox hBox, Widget widget)
    {
        hBox.PackStart(widget, false, false, 5);
    }
}

Visual Studio Code


© accounting.org.ua - 2024