Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 日韩a级片在线观看,2021国产精品视频,欧美专区在线

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          51.C# Button控件

          51.C# Button控件


          button控件是由system.windows.forms.button類提供的控件,又稱為按鈕控件。

          正文


          Button控件,又稱為按鈕控件,它表允許用戶通過單擊來執行操作。Button控件既可以顯示文本,也可以顯示圖像,當該控件被單擊時,它看起來像是被按下,然后被釋放。Button控件最常用的是Text屬性,其中,Text屬性用來設Button:控件顯示的文本,Click事件用來指定單擊Button控件時執行的操作。

          屬性


          Anchor

          獲取或設置控件綁定到的容器的邊緣并確定控件如何隨其父級一起調整大小。<br><br>(繼承自 Control)

          AutoEllipsis

          獲取或設置一個值,該值指示是否要在控件的右邊緣顯示省略號 (...) 以表示控件文本超出指定的控件長度。<br><br>(繼承自 ButtonBase)

          BackColor

          獲取或設置控件的背景色。<br><br>(繼承自 ButtonBase)

          Cursor

          獲取或設置當鼠標指針位于控件上時顯示的光標。<br><br>(繼承自 Control)

          DialogResult

          獲取或設置一個值,該值在單擊按鈕時返回到父窗體。

          Dock

          獲取或設置哪些控件邊框??康狡涓缚丶⒋_定控件如何隨其父級一起調整大小。<br><br>(繼承自 Control)

          Enabled

          獲取或設置一個值,該值指示控件是否可以對用戶交互作出響應。<br><br>(繼承自 Control)

          FlatAppearance

          獲取用于指示選中狀態和鼠標狀態的邊框外觀和顏色。<br><br>(繼承自 ButtonBase)

          FlatStyle

          獲取或設置按鈕控件的平面樣式外觀。<br><br>(繼承自 ButtonBase)

          Focused

          獲取一個值,該值指示控件是否有輸入焦點。<br><br>(繼承自 Control)

          Font

          獲取或設置控件顯示的文字的字體。<br><br>(繼承自 Control)

          ForeColor

          獲取或設置控件的前景色。<br><br>(繼承自 Control)

          Image

          獲取或設置顯示在按鈕控件上的圖像。<br><br>(繼承自 ButtonBase)

          ImageAlign

          獲取或設置按鈕控件上的圖像對齊方式。<br><br>(繼承自 ButtonBase)

          ImageIndex

          獲取或設置按鈕控件上顯示的圖像的圖像列表索引值。<br><br>(繼承自 ButtonBase)

          ImageKey

          獲取或設置 ImageList 中的圖像的鍵訪問器。<br><br>(繼承自 ButtonBase)

          ImageList

          獲取或設置包含按鈕控件上顯示的 ImageList 的 Image。<br><br>(繼承自 ButtonBase)

          Name

          獲取或設置控件的名稱。<br><br>(繼承自 Control)

          Size

          獲取或設置控件的高度和寬度。<br><br>(繼承自 Control)

          TabIndex

          獲取或設置控件在其容器內的 Tab 鍵順序。<br><br>(繼承自 Control)

          TabStop

          獲取或設置一個值,該值指示用戶能否使用 Tab 鍵將焦點放到該控件上。<br><br>(繼承自 Control)

          Tag

          獲取或設置包含有關控件的數據的對象。<br><br>(繼承自 Control)

          Text

          獲取或設置與此控件關聯的文本。<br><br>(繼承自 ButtonBase)

          TextAlign

          獲取或設置按鈕控件上的文本對齊方式。<br><br>(繼承自 ButtonBase)

          Top

          獲取或設置控件上邊緣與其容器的工作區上邊緣之間的距離(以像素為單位)。<br><br>(繼承自 Control)

          TopLevelControl

          獲取沒有另一個 Windows 窗體控件作為其父級的父控件。 通常,這是控件所在的最外面的 Form。<br><br>(繼承自 Control)

          Visible

          獲取或設置一個值,該值指示是否顯示該控件及其所有子控件。<br><br>(繼承自 Control)

          Width

          獲取或設置控件的寬度。<br><br>(繼承自 Control)

          BackgroundImage

          獲取或設置在控件中顯示的背景圖像。<br><br>(繼承自 Control)

          BackgroundImageLayout

          獲取或設置在 ImageLayout 枚舉中定義的背景圖像布局。<br><br>(繼承自 Control)

          事件


          Click

          在單擊控件時發生。<br><br>(繼承自 Control)

          DoubleClick

          當用戶雙擊 Button 控件時發生。

          Enter

          進入控件時發生。<br><br>(繼承自 Control)

          MouseClick

          用鼠標單擊控件時發生。<br><br>(繼承自 Control)

          MouseDoubleClick

          當用戶使用鼠標雙擊 Button 控件時發生。

          MouseDown

          當鼠標指針位于控件上并按下鼠標鍵時發生。<br><br>(繼承自 Control)

          MouseEnter

          在鼠標指針進入控件時發生。<br><br>(繼承自 Control)

          MouseHover

          在鼠標指針停放在控件上時發生。<br><br>(繼承自 Control)

          MouseLeave

          在鼠標指針離開控件時發生。<br><br>(繼承自 Control)

          MouseMove

          在鼠標指針移到控件上時發生。<br><br>(繼承自 Control)

          MouseUp

          在鼠標指針在控件上并釋放鼠標鍵時發生。<br><br>(繼承自 Control)

          MouseWheel

          在控件有焦點且鼠標輪移動時發生。<br><br>(繼承自 Control)

          Move

          在移動控件時發生。<br><br>(繼承自 Control)

          對話框布局

          設置Anchor 為 Bottom,Right

          我們給按鈕設置一條線的樣式

          圖片背景BackgroundImage,添加圖片,

          設置背景填充樣式BackgroundImageLayout,這里我選 None



          Center

          2

          圖像在控件的矩形工作區中居中顯示。

          None

          0

          圖像沿控件的矩形工作區頂部左對齊。

          Stretch

          3

          圖像沿控件的矩形工作區拉伸。

          Tile

          1

          圖像沿控件的矩形工作區平鋪。

          Zoom

          4

          圖像在控件的矩形工作區中放大。

          給按鈕添加一個圖標

          添加一個click事件

          話框在Qt GUI應用程序中有著廣泛的用途,對話框有模態、非模態兩種情況。

          對于參數選擇的對話框,一般用模態對話框;對于顯示或查看某些內容的對話框,一般用非模態對話框。

          對話框類QDialog,官方文檔:http://qt-project.org/doc/qt-4.8/qdialog.html

          1. 模態對話框

          模態對話框通過調用exec()函數實現,使用模態對話框時,事件就在對話框內部循環,必須將對話框關閉才能繼續執行主界面的操作。

          需要注意的是,關閉模態對話框時,exec()將返回一個值。

          原型:int QDialog::exec () [slot]

          返回值利用:比如對話框中有Ok和Cancel兩個按鈕,點擊Ok按鈕時,關閉對話框同時主程序接受對話框中設置的參數,點擊Cancel或右上角的X后,關閉對話框并且立即返回不再執行下面的程序。這種情況下,將Ok按鈕的clicked()信號與accept()槽連接,Cancel按鈕的clicked信號與reject()槽連接。這時,當點擊Ok按鈕時,將觸發accept()槽,exec()返回QDialog::Recepted,當點擊Cancel按鈕時,將觸發reject槽,exec()返回QDialog::Rejected。

          connect(ui.Ok,SIGNAL(clicked()),this,SLOT(accept()));
          connect(ui.Cancel,SIGNAL(clicked()),this,SLOT(reject()));

          執行時,進行一下判斷,點擊了Cancel返回,點擊了Ok傳遞對話框中的參數繼續執行

          	//在某個函數中調用對話框
           // a為對話框類對象
           if(a.exec()==QDialog::Rejected)
           {
               //操作
               return;
           }
           //傳遞對話框中的參數
           //繼續操作

          不知道說明白了沒有,不明白的話自己下代碼實現一下。

          2. 非模態對話框

          非模態對話框調用show()函數實現,當然在主程序中,調用非模態對話框時,如果只寫個show(),可能是對話框一閃而過,為了解決這個情況,需要全局對象的事件響應槽processEvents(),定時的訪問該對話框,這樣就可以處理主界面的事件同時對話框也不會消失。

          本人采用方法時利用QTimer類的singleShot()方法。QTimer類提供了對時鐘的操作。

          QTimer類的官方文檔:http://qt-project.org/doc/qt-4.8/qtimer.html

          singleShot的原型:void QTimer::singleShot ( int msec, QObject * receiver, const char * member ) [static]

          第一個參數為執行的時間間隔,單位為ms

          第二個參數為接受的對象

          第三個參數為觸發的槽

          恰好,我們可以每隔msec時間觸發processEvents(),從而使對話框不消失,第二個參數為對話框對象。需要注意的是,對話框的對象要定義在堆上(即要定義成指針對象),因為如果定義在棧上,執行完后函數后對象會被自動清理掉,找不到第二個參數所需的對象,就沒法顯示出對話框了。

          #include <QTimer>
          
          CModallessDialog  *dialog;  //最好定義成全局變量
          
          dialog=new CModallessDialog;
          dialog->show();
          dialog->setTitle(tr("非模態對話框")); //設置窗口標題
          //對話框中的一些處理
          QTimer::singleShot(200,dialog,SLOT(qApp->processEvents()));  //時間間隔200ms

          在使用時,將dialog對象delete掉之后對話框就會消失

          //如果對話框顯示,就將其刪除
          if(NULL!=dialog)
          {
              delete dialog
              dialog=NULL;
          }

          在顯示對話框時,也要注意如果dialog!=NULLs時,現將其delete掉賦NULL再分配地址。

          了,這一節咱們來實現預覽功能的第一步:給工程多加一個窗體,并且在按“預覽”按鈕時,將它顯示出來。

          新建窗口

          0、在項目窗體里單擊鼠標右鍵,然后選擇Add New...,然后在彈出的窗口里選擇“QT->QT設計師界面類”,并點擊Choose...

          Add New...

          1、然后的步驟里選擇Dialog without Buttons,點擊下一步

          Dialog without Buttons


          2、設置好我們的類名,在這里我寫的PreViewVideoWindow,記住,只需要改類名,其它的地方會自動變,不需要改。

          PreViewVideoWindow

          3、接下來的這一步不需要改,直接點“完成”就行了。

          這時,我們的工程里就多出一個新的空白窗體來了,而且項目窗口里也會自動創建出窗體的類來。

          新窗體類

          此時,我們的新窗體就創建完成了。

          要注意的地方是:這個窗體此時在工程運行時并不存在,如果要把它顯示出來,我們需要用工用代碼去創建它顯示它并控制它。在工程里只有主窗體是自動創建并顯示出來的,其它窗體都需要我們手動去操作。

          點擊按鈕顯示新窗體

          現在我們回到mainwindow.h中,在頭部寫入

          #include "previewvideowindow.h" //注意,要用引號,不要用<>。

          然后在mainwindow中定義一個變量,用來存儲這個新窗體

          PreViewVideoWindow *preWindow;

          然后在“預覽”按鈕的槽函數中寫入如下代碼:

          void MainWindow::on_btn_PreView_clicked()
          {
              //創建窗體實例
              preWindow=new PreViewVideoWindow(this);  //注意要有this,就不用自己刪除了
          
              //設置窗體關閉時自動刪除類實例
              //如果不設置這個,關閉窗體時只是隱藏了它,并沒有銷毀
              preWindow->setAttribute(Qt::WA_DeleteOnClose, true);
          
              //顯示出窗體
              preWindow->show();
          }

          我這代碼是點擊時就會新建窗體,并設置好在窗體關閉時自動刪除它的實例。這個按鈕每次點擊都會出現一個新窗口,如果您想實現只出現一個窗口的情況,就需要自己去設置檢查并維護一個變量來判斷了,因為我不需要,所以我這里就沒有做。

          新窗體顯示成功

          看,新窗體顯示出來了,但是,它右上角怎么有個問號按鈕呢?下面我們把它去掉,在previewvideowindow.cpp中構造函數里寫入如下代碼:

          PreViewVideoWindow::PreViewVideoWindow(QWidget *parent) :
              QDialog(parent),
              ui(new Ui::PreViewVideoWindow)
          {
              ui->setupUi(this);
            
            //就是這句,這個是用來設置窗體樣式的,現在讓它只顯示一個關閉按鈕。
              this->setWindowFlags(Qt::Dialog|Qt::WindowCloseButtonHint);
          }

          成功去掉問號按鈕

          下一節讓這個新窗體能顯示視頻,期待。


          主站蜘蛛池模板: 亚洲午夜精品第一区二区8050| 久久精品无码一区二区三区免费| 在线观看一区二区三区av| 秋霞鲁丝片一区二区三区| 久久综合精品不卡一区二区| 国产主播福利精品一区二区| 国产免费一区二区三区| 中文字幕精品无码一区二区三区| 国产一区在线视频观看| 亚洲av色香蕉一区二区三区蜜桃 | 亚洲AV无码一区二区二三区入口| 国产高清视频一区二区| 亚洲午夜一区二区三区| 无码人妻精品一区二区三18禁| 亚洲国产av一区二区三区| 欧洲亚洲综合一区二区三区| 亚洲av成人一区二区三区在线播放 | 激情无码亚洲一区二区三区| 免费播放一区二区三区| 久久99精品一区二区三区| 国产综合无码一区二区三区| 亚洲性日韩精品一区二区三区| 国产一区精品视频| 久久国产精品免费一区二区三区| 精品成人一区二区三区免费视频| 国产精品区一区二区三| 日韩一区二区三区免费体验| 国产一区二区三区在线免费观看| 精品国产亚洲一区二区三区在线观看| 人妻少妇精品视频三区二区一区| 无码精品一区二区三区| 国产无人区一区二区三区| 国产在线一区二区三区在线| 亚洲视频一区二区| 久久亚洲国产精品一区二区| 一区二区在线免费观看| 亚洲国产成人久久综合一区| 丰满爆乳无码一区二区三区| 无码人妻AⅤ一区二区三区水密桃 无码欧精品亚洲日韩一区夜夜嗨 无码毛片一区二区三区中文字幕 无码毛片一区二区三区视频免费播放 | 亚洲国产成人一区二区三区| 中文字幕人妻无码一区二区三区|