<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # GTK 的第一步 > 原文: [http://zetcode.com/gui/gtksharp/firststeps/](http://zetcode.com/gui/gtksharp/firststeps/) 在 GTK# 編程教程的這一部分中,我們將進行編程的第一步。 我們將創建簡單的程序。 ## 簡單的例子 第一個代碼示例是一個簡單的示例,它顯示了居中的窗口。 `center.cs` ```cs using Gtk; class SharpApp : Window { public SharpApp() : base("Center") { SetDefaultSize(250, 200); SetPosition(WindowPosition.Center); DeleteEvent += delegate { Application.Quit(); }; Show(); } public static void Main() { Application.Init(); new SharpApp(); Application.Run(); } } ``` 該代碼示例在屏幕中央顯示一個小窗口。 ```cs $ gmcs -pkg:gtk-sharp-2.0 center.cs ``` 這是我們編譯代碼示例的方式。 ```cs using Gtk; ``` 現在,我們可以直接使用`Gtk`名稱空間中的對象。 我們可以寫`Window`而不是`Gtk.Window`。 ```cs class SharpApp : Window { ``` 我們的應用基于`SharpApp`類。 該類繼承自`Window`類。 ```cs public SharpApp() : base("Center") { ... } ``` 這是構造器。 它構建了我們的應用。 它還通過`base()`關鍵字調用其父構造器。 ```cs SetDefaultSize(250, 200); ``` 這行為我們的窗口設置默認大小。 ```cs SetPosition(WindowPosition.Center); ``` 這條線使窗口在屏幕上居中。 ```cs DeleteEvent += delegate { Application.Quit(); }; ``` 我們將一個代理插入`DeleteEvent`。 當我們單擊標題欄中的關閉按鈕時,將觸發此事件。 或按 `Alt + F4` 。 我們的代表永久退出了申請。 ```cs Show(); ``` 現在我們顯示窗口。 在調用`Show()`方法之前,該窗口不可見。 ```cs public static void Main() { Application.Init(); new SharpApp(); Application.Run(); } ``` `Main()`方法是應用的入口點。 它啟動并運行程序。 ## 圖標 在下一個示例中,我們顯示應用圖標。 大多數窗口管理器在標題欄的左上角以及任務欄上都顯示圖標。 `icon.cs` ```cs using Gtk; using System; class SharpApp : Window { public SharpApp() : base("Icon") { SetDefaultSize(250, 160); SetPosition(WindowPosition.Center); SetIconFromFile("web.png"); DeleteEvent += new DeleteEventHandler(OnDelete); Show(); } public static void Main() { Application.Init(); new SharpApp(); Application.Run(); } void OnDelete(object obj, DeleteEventArgs args) { Application.Quit(); } } ``` 該代碼示例顯示了應用圖標。 ```cs SetIconFromFile("web.png"); ``` `SetIconFromFile()`方法為窗口設置圖標。 從當前工作目錄中的磁盤加載映像。 ```cs DeleteEvent += new DeleteEventHandler(OnDelete); ``` 這是另一種方式,我們如何將事件處理器插入事件。 只是有點冗長。 ```cs void OnDelete(object obj, DeleteEventArgs args) { Application.Quit(); } ``` 這是刪除事件的事件處理器。 ![Icon](https://img.kancloud.cn/28/2e/282eeff661acff20f59aadc769512d0a_258x188.jpg) 圖:圖標 ## 按鈕 在下一個示例中,我們將使用 GTK# 庫進一步增強我們的編程技能。 `buttons.cs` ```cs using Gtk; class SharpApp : Window { public SharpApp() : base("Buttons") { SetDefaultSize(250, 200); SetPosition(WindowPosition.Center); DeleteEvent += delegate { Application.Quit(); }; Fixed fix = new Fixed(); Button btn1 = new Button("Button"); btn1.Sensitive = false; Button btn2 = new Button("Button"); Button btn3 = new Button(Stock.Close); Button btn4 = new Button("Button"); btn4.SetSizeRequest(80, 40); fix.Put(btn1, 20, 30); fix.Put(btn2, 100, 30); fix.Put(btn3, 20, 80); fix.Put(btn4, 100, 80); Add(fix); ShowAll(); } public static void Main() { Application.Init(); new SharpApp(); Application.Run(); } } ``` 我們在窗口上顯示四個不同的按鈕。 我們將看到容器窗口小部件和子窗口小部件之間的區別,并將更改子窗口小部件的某些屬性。 ```cs Fixed fix = new Fixed(); ``` `Fixed`小部件是不可見的容器小部件。 其目的是包含其他子窗口小部件。 ```cs Button btn1 = new Button("Button"); ``` `Button`是子窗口小部件。 子窗口小部件放置在容器內。 ```cs btn1.Sensitive = false; ``` 我們使此按鈕不敏感。 這意味著我們無法單擊它。 圖形化的小部件為灰色。 ```cs Button btn3 = new Button(Stock.Close); ``` 第三個按鈕在其區域內顯示圖像。 GTK# 庫具有我們可以使用的內置圖像庫。 ```cs btn4.SetSizeRequest(80, 40); ``` 在這里,我們更改按鈕的大小。 ```cs fix.Put(btn1, 20, 30); fix.Put(btn2, 100, 30); ... ``` 在這里,我們將按鈕小部件放置在固定容器小部件內。 ```cs Add(fix); ``` 我們將`Fixed`容器設置為`Window`小部件的主要容器。 ```cs ShowAll(); ``` 我們可以調用`ShowAll()`方法,也可以在每個小部件上調用`Show()`方法。 包括容器。 ![Buttons](https://img.kancloud.cn/dd/9c/dd9c1dd5fb847ad62ffefb0f18ea7afa_258x228.jpg) 圖:按鈕 在本章中,我們在 GTK# 編程庫中創建了第一個程序。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看