我嘗試使用UserControl開發應用程序。我的MainForm上有一個TableLayoutPanel動態地爲不同的UserControls充電。其中一個UserControl包含一個FlowLayoutPanel,其中動態加載按鈕。開始時,此FlowLayoutPanel(帶有12個按鈕)爲Enabled = false。我的問題是,如果我點擊我的MainForm上的一個按鈕,我想從我的UserControl的FlowLayoutPanel(有12個按鈕)變爲Enabled = true。我的FlowLayoutPanel(有12個按鈕)的狀態爲Enabled = true,但我的FlowLayoutPanel和我的按鈕未激活。狀態是好的,但實際上我不能點擊我的按鈕,因爲他們不活躍。我會忘記一些事情嗎?這不可能嗎?UserControls並激活按鈕
下面是我的一些代碼:
public void OpenCaisseDialog()
{
System.Windows.Forms.DialogResult OpenCashDialog = new DialogResult();
OpenCaisseForm OCF = new OpenCaisseForm();
OpenCashDialog = OCF.ShowDialog();
if(OpenCashDialog == System.Windows.Forms.DialogResult.OK)
{
if ((Convert.ToInt32(OCF.tbMontantOuverture.Text)) > 0)
{
PanelTables.Controls.Clear();
PanelTables.Enabled = true;
PanelTables.Refresh();
}
else
{
MessageBox.Show("La somme en caisse est égale à 0");
}
}
PanelTables.Refresh();
}
感謝您的幫助。我試過你的代碼,但我不知道我是否使用它。我這樣做:
public void OpenCaisseDialog()
{
System.Windows.Forms.DialogResult OpenCashDialog = new DialogResult();
OpenCaisseForm OCF = new OpenCaisseForm();
OpenCashDialog = OCF.ShowDialog();
if(OpenCashDialog == System.Windows.Forms.DialogResult.OK)
{
if ((Convert.ToInt32(OCF.tbMontantOuverture.Text)) > 0)
{
PanelTables.Enabled += MyFlowLayoutPanel_EnabledChanged();
PanelTables.Refresh();
}
else
{
MessageBox.Show("Sum isn't equals 0");
}
}
PanelTables.Refresh();
}
private void MyFlowLayoutPanel_EnabledChanged()
{
foreach(Control c in this.PanelTables.Controls)
{
c.Enabled = this.PanelTables.Enabled;
}
}
我有該行一個錯誤:PanelTables.Enabled + = MyFlowLayoutPanel_EnabledChanged();
「+ =不能與BOOL和void類型使用」是不是好,我用你的代碼?
我使用什麼類型?
謝謝
您好,感謝您的幫助。 – Paintbox