2017-09-12 18 views
0

我想啓用和年禁用多個按鈕來禁用多個按鈕2016至05年,它命名爲But2016到But2005,在我的C++程序,但它沒有工作:啓用和Visual C++

時我在一個名稱中分配了一個變量,例如: 但是+「& i」 - > Enable = false;

它出現了一個錯誤,但未申報。並且,當我嘗試使用間接變量時,它不起作用,如:

RadioButton^ But = (gcnew System::Windows::Forms::RadioButton()); 

for (i = 2016; i > 2004; i--) 
{ 
    But->Name = "But" + (i); 
    textBox1->Text = But->Name->ToString(); 
    But->Enabled = false; 
} 

如何解決此問題?

回答

0

您不能將字符串組合在一起以創建新的變量名稱。但是,應該可以將按鈕輸入到某種類型的容器中,然後使用循環對其進行迭代。

下面是一些僞代碼。請記住,這不是用C++編寫的,但應該是這樣的:

Map buttons = new HashMap(); 
buttons.add(2005, But2005); 
buttons.add(2006, But2006); 
... // add all buttons 

for (Integer i in buttons) { 
    if (i >= 2005 && i <= 2016) { 
     buttons.get(i).disable(); 
    } 
}