RSS   



  可打印版本 | 推薦給朋友 | 訂閱主題 | 收藏主題 | 純文字版  


 


 
主題: [其他] [C#][問題]tabpage加入事件   字型大小:||| 
H.T.DEMON
論壇第一呆
等級: 11等級: 11等級: 11等級: 11
天堂的惡魔

 . 積分: 321
 . 文章: 2497
 . 收花: 1170 支
 . 送花: 629 支
 . 比例: 0.54
 . 在線: 2355 小時
 . 瀏覽: 24805 頁
 . 註冊: 8198
 . 失蹤: 273
#1 : 2008-6-28 09:47 PM     只看本作者 引言回覆

想請教是否有辦法將tabpage套入KeyDown的事件

我寫了兩組KeyDown事件,兩組事件都用到同樣的按鍵去做觸發,但是觸發不同的function,所以也無法將KeyDwon事件丟到tabControl裡頭

搞不懂為什麼tabpage可以套入Mouse事件卻不能套入Key事件



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  訪問主頁  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
oislone
鐵驢友〔中級〕
等級: 5等級: 5


 . 積分: 54
 . 文章: 44
 . 收花: 247 支
 . 送花: 33 支
 . 比例: 0.13
 . 在線: 1713 小時
 . 瀏覽: 26729 頁
 . 註冊: 6979
 . 失蹤: 712
#2 : 2008-6-29 02:54 PM     只看本作者 引言回覆

不能自已加 EVENT 嗎 ?
雖然要自己手寫加上, 可是會比較方便~
也不會受限原有的 CLASS 限制~
除非原有的 CLASS 把 KeyDown 設為不可繼承而且是保護~



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
H.T.DEMON
論壇第一呆
等級: 11等級: 11等級: 11等級: 11
天堂的惡魔

 . 積分: 321
 . 文章: 2497
 . 收花: 1170 支
 . 送花: 629 支
 . 比例: 0.54
 . 在線: 2355 小時
 . 瀏覽: 24805 頁
 . 註冊: 8198
 . 失蹤: 273
#3 : 2008-6-29 11:24 PM     只看本作者 引言回覆

可以在程式碼中寫事件 但是tabpage的屬性頁好像沒有KeyDown事件選項可以去套用

private void tabPage1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
        {
            if (e.KeyCode == Keys.F5)         
                doit(1);
            else if (e.KeyCode == Keys.F9)
                clsit(1);
        }
private void tabPage2_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
        {
            if (e.KeyCode == Keys.F5)         
                doit(2);
            else if (e.KeyCode == Keys.F9)
                clsit(2);
        }
極端一點的做法好像就只能把兩個KeyDown事件寫在一塊 然後當按下按鈕時兩個頁面都會觸發事件了...

private void tabPage2_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
        {
            if (e.KeyCode == Keys.F5)
                doit(1)         
                doit(2);
            else if (e.KeyCode == Keys.F9)
                clsit(1)
                clsit(2);
        }



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  訪問主頁  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
oislone
鐵驢友〔中級〕
等級: 5等級: 5


 . 積分: 54
 . 文章: 44
 . 收花: 247 支
 . 送花: 33 支
 . 比例: 0.13
 . 在線: 1713 小時
 . 瀏覽: 26729 頁
 . 註冊: 6979
 . 失蹤: 712
#4 : 2008-6-30 12:17 AM     只看本作者 引言回覆

沒錯~ 是要自己設計 EVENT~
你可以參考一下 http://www.developerfusion.co.uk/show/274 此頁~
不過這比較像是使用 WINDOWS 界面, 有點脫離 NET 的封裝觀念~
或者換用 NET 的 KeyBoard 類別, 也許會更好.

然後使用 delegate 委派及 event 事件的作法~ 自己繼承 tabpage 物件~
那麼你自己的 tabpage 繼承物件就會有 KeyDown 功能了~

VS 的說明 :
委派是事件的基礎。                     
event 關鍵字用於在發行者 (Publisher) 類別中宣告事件。

不過要先了解 delegate 委派及 event 事件的作法才可以順利使用喔.



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
H.T.DEMON
論壇第一呆
等級: 11等級: 11等級: 11等級: 11
天堂的惡魔

 . 積分: 321
 . 文章: 2497
 . 收花: 1170 支
 . 送花: 629 支
 . 比例: 0.54
 . 在線: 2355 小時
 . 瀏覽: 24805 頁
 . 註冊: 8198
 . 失蹤: 273
#5 : 2008-6-30 12:53 AM     只看本作者 引言回覆

您說的這個方法我看了,一時間還真難理解這種東西...
是不是說要用一個委派來裡頭程式碼放我原本寫的Event

然後您還說到讓tabpage 繼承物件 這個部份還是不知道怎麼做
可否請您提供個範例當作參考 感謝



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  訪問主頁  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
oislone
鐵驢友〔中級〕
等級: 5等級: 5


 . 積分: 54
 . 文章: 44
 . 收花: 247 支
 . 送花: 33 支
 . 比例: 0.13
 . 在線: 1713 小時
 . 瀏覽: 26729 頁
 . 註冊: 6979
 . 失蹤: 712
#6 : 2008-7-2 11:05 PM     只看本作者 引言回覆

要晚一點~ 最近手上工作比較多, tablpage 也沒用過, 之前都是寫 button 的事件,
等空一些, 我再來研究 tabcontrol 的部份~



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
H.T.DEMON
論壇第一呆
等級: 11等級: 11等級: 11等級: 11
天堂的惡魔

 . 積分: 321
 . 文章: 2497
 . 收花: 1170 支
 . 送花: 629 支
 . 比例: 0.54
 . 在線: 2355 小時
 . 瀏覽: 24805 頁
 . 註冊: 8198
 . 失蹤: 273
#7 : 2008-7-4 12:26 AM     只看本作者 引言回覆


引用:
oislone寫到:
要晚一點~ 最近手上工作比較多, tablpage 也沒用過, 之前都是寫 button 的事件,
等空一些, 我再來研究 tabcontrol 的部份~

後來找到解法了 讓tabcontrol套入KeyDown事件,事件裡面加入一個判斷來目前的tabpageIndex
藉由Index來區別做出不同回應,即達成我想要的按下同個按鈕但是能夠區分目前是在哪一個tabpage

不曉得oislone您知不知道怎麼讓一個.mdb成為內嵌資源然後讓程式編譯出來後就內含那個.mdb
然後程式就是讀取成為內嵌資源的.mdb裡面的資料
初略的曉得怎麼將.mdb轉為內嵌資源,但是卡在說oleDBConnection的ConnectionString需要給Data Source路徑
再來我就不曉得該怎麼將成為內嵌資源的mdb套入給Data Source路徑



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  訪問主頁  發私人訊息  Blog  快速回覆 新增/修改 爬文標記

   

快速回覆
表情符號

更多 Smilies

字型大小 : |||      [完成後可按 Ctrl+Enter 發佈]        

溫馨提示:本區開放遊客瀏覽。
選項:
關閉 URL 識別    關閉 表情符號    關閉 Discuz! 代碼    使用個人簽名    接收新回覆信件通知
發表時自動複製內容   [立即複製] (IE only)


 



所在時區為 GMT+8, 現在時間是 2024-11-22 01:15 AM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.027310 second(s), 8 queries , Qzip disabled