在WinForm:
alt text http://i36.tinypic.com/2r26a77.png在WinForm中處理CheckBox控件的最佳做法是什麼?
代碼:
using System;
using System.Windows.Forms;
namespace DemoApp
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
groupBox2.Enabled = checkBox1.Checked;
}
private void button1_Click(object sender, EventArgs e)
{
SaveSetings();
}
private void SaveSetings()
{
Properties.Settings.Default.UserName = textBox1.Text;
Properties.Settings.Default.pass = textBox2.Text;
Properties.Settings.Default.userproxy = checkBox1.Checked;
Properties.Settings.Default.proxy = textBox3.Text;
Properties.Settings.Default.proxy_port = textBox4.Text;
Properties.Settings.Default.Save();
}
//private void Form1_Load(object sender, EventArgs e)
//{
// checkBox1.Refresh();
// groupBox2.Enabled = checkBox1.Checked;
//}
}
}
爲u可以在代碼中我有「使用代理服務器」複選框選擇應使groupbox1反之亦然時,這是看到的。問題是當表單從「user.config」加載設置時,即使未選中檢查控件組1被啓用。處理這種情況的一種方法是檢查在窗體加載事件即
groupBox2.Enabled = checkBox1.Checked;
控制是否有任何其他要做到這一點,讓我的應用程序更DINAMIC? 我問這個問題的原因是因爲可能會出現多個控件位於同一個表單上的情況,我認爲這會變得令人困惑。
你的代碼可以通過的方式來優化一點點...... 設置 { 如果(_useProxy =價值!) { _useProxy =值; SetControlStates(); } } 是UseProxy的setter所需的全部:) – mike 2009-10-25 12:23:58