所以我正在製作一個程序,我碰到了一面牆,因爲我不知道如何將一個變量從一個方法傳遞到另一個方法。爲了解釋這種情況,我添加了代碼:如何刪除在另一個事件處理程序中創建的TabControl?
1)我在formload上創建了一個toolStripMenuItem^ TestIsvalyti
。
private: System::Void Form2_Load(System::Object^ sender, System::EventArgs^ e)
{
MenuStrip^ menu = gcnew MenuStrip;
menu->Location = Point(0,0);
menu->Size = System::Drawing::Size(this->Width, 25);
ToolStripMenuItem^ ElDienynas = gcnew ToolStripMenuItem;
ElDienynas->Text = "El. Dienynas";
menu->Items->Add(ElDienynas);
Controls->Add(menu);
//TESTUI
ToolStripMenuItem^ TestIsvalyti = gcnew ToolStripMenuItem;
TestIsvalyti->Text = "ISVALYTI";
menu->Items->Add(TestIsvalyti);
TestIsvalyti->Click += gcnew EventHandler(this, &Form2::TestIsvalyti_Click);
Controls->Add(menu);
//TESTUI
}
2)I有一個事件處理程序,它創建一個TabControl^ ElDienynasTab
private: System::Void menuGrupe_Click(Object^ sender, EventArgs^ e)
{
TabControl^ ElDienynasTab = gcnew TabControl;
ElDienynasTab->Location = Point(14, 40);
ElDienynasTab->Size = System::Drawing::Size(768, 500);
Controls->Add(ElDienynasTab);
TabPage^ LankomumasPazymiai = gcnew TabPage;
LankomumasPazymiai->Text = "Lankomumas | Pazymiai";
ElDienynasTab->Controls->Add(LankomumasPazymiai);
TabPage^ namuDarbai = gcnew TabPage;
namuDarbai->Text = "Namu darbai";
ElDienynasTab->Controls->Add(namuDarbai);
}
3)I創建另一事件處理程序TestIsvalyti MenuStripItem,其具有從2)方法除去ElDienynasTab,但是由於我不知道如何將變量傳遞給這個事件處理函數,所以我在那裏碰壁了。
void TestIsvalyti_Click(System::Object^ sender, System::EventArgs^ e)
{
this->Controls->Remove(ElDienynasTab);
}
請向我解釋如何做和/或添加一段代碼。非常感謝你。
謝謝,這有幫助。 但是如果我需要在獲取信息時創建對象? 例如:我發送一個查詢到數據庫中,我得到了ppl的名字,姓氏和數字,那是hm ppl。 (而我只在點擊按鈕時這樣做) – Rokas 2012-04-13 15:54:33
@Rokas這是一個非常模糊的問題。這真的取決於你如何構建你的用戶界面。如果所有的數據都可以放在一個現有的控件中,比如GridView,那麼你可以用數據填充控件。如果您需要爲每一塊數據動態創建並添加一個全新的控件,那麼您至少應該將控件創建邏輯合併爲一個單獨的函數,並只傳入所需的唯一數據。如果你有一個更具體的問題,隨意問Stack Overflow的另一個問題。 – 2012-04-13 16:31:13
非常感謝:] – Rokas 2012-04-15 20:19:34