H.T.DEMON
|
發表於 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路徑
| |
oislone
|
發表於 2008-7-2 11:05 PM |
要晚一點~ 最近手上工作比較多, tablpage 也沒用過, 之前都是寫 button 的事件,
等空一些, 我再來研究 tabcontrol 的部份~
| |
H.T.DEMON
|
發表於 2008-6-30 12:53 AM |
您說的這個方法我看了,一時間還真難理解這種東西...
是不是說要用一個委派來裡頭程式碼放我原本寫的Event
然後您還說到讓tabpage 繼承物件 這個部份還是不知道怎麼做
可否請您提供個範例當作參考 感謝
| |
oislone
|
發表於 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 事件的作法才可以順利使用喔.
| |
H.T.DEMON
|
發表於 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);
}
| |
oislone
|
發表於 2008-6-29 02:54 PM |
不能自已加 EVENT 嗎 ?
雖然要自己手寫加上, 可是會比較方便~
也不會受限原有的 CLASS 限制~
除非原有的 CLASS 把 KeyDown 設為不可繼承而且是保護~
| |
H.T.DEMON
|
發表於 2008-6-28 09:47 PM |
想請教是否有辦法將tabpage套入KeyDown的事件
我寫了兩組KeyDown事件,兩組事件都用到同樣的按鍵去做觸發,但是觸發不同的function,所以也無法將KeyDwon事件丟到tabControl裡頭
搞不懂為什麼tabpage可以套入Mouse事件卻不能套入Key事件
| |