私はコードを持っています、そして私はそこまでの道のりの99%を知っています。MS VS2008でのC#コーディング。
基本的に、4つのラジオボタンと[続行]ボタンがあるフォームがあります。ユーザーがラジオボタンの1つをクリックし、[続行]をクリックすると、これはすべて正常に機能します。
ただし、ユーザーが入力した値を使用したい(つまり、ユーザーが最初のボタンをクリックした場合、1に等しい変数が必要で、2番目のボタンは2に等しいというようになります)。これをさまざまなポイントで試しましたが、実行できるのはプライベートvoid btnOkClick行だけです。つまり、このvoidの外側の値を使用できます。これは、私が本当に望んでいることです。
いくつかの列挙型などを設定して遊んでみましたが(以下のコードでコメント化されています)、うまくいきません。私は近くにいる必要があることを知っていますが、私は投稿を読み続けており、それを完全に把握することができないので、私の初心者は本当に現れています。
つまり、VS2008プロジェクトの他のクラスで、ユーザーが初期フォームで選択した値を参照できるようにしたいと考えています。
namespace AmortClient
{
public partial class frmLoadACTFCST : Form
{
public frmLoadACTFCST()
{
InitializeComponent();
//set the parent of the form to the container
//this.MdiParent = parent;
}
//public enum ACTFCST
//{
// ACT = 1,
// FCST = 2,
// PLAN = 3,
// FiveYearPlan2012=4
//}
//private ACTFCST _actfcst = ACTFCST.ACT;
//public ACTFCST actfcst
//{
// get { return _actfcst; }
// set { _actfcst = value; }
//}
private void frmLoadACTFCST_Load(object sender, EventArgs e)
{
}
private void groupBox1_Enter(object sender, EventArgs e)
{
}
private void btnActual_CheckedChanged(object sender, EventArgs e)
{
}
private void btnForecast_CheckedChanged(object sender, EventArgs e)
{
}
private void btnPlan_CheckedChanged(object sender, EventArgs e)
{
}
private void btn5YrPlan2012_CheckedChanged(object sender, EventArgs e)
{
}
private void btnContinue_Click(object sender, EventArgs e)
{
string ACTFCSTtext = "";
int dataTypeKey = 0;
if (btnActual.Checked)
{
ACTFCSTtext = btnActual.Text;
dataTypeKey = 1;
}
else if (btnForecast.Checked)
{
ACTFCSTtext = btnForecast.Text;
dataTypeKey = 2;
}
else if (btnPlan.Checked)
{
ACTFCSTtext = btnPlan.Text;
dataTypeKey = 3;
}
else if (btn5YrPlan2012.Checked)
{
ACTFCSTtext = btn5YrPlan2012.Text;
dataTypeKey = 4;
}
string msg = "";
msg = ACTFCSTtext + " " + dataTypeKey;
//btn5YrPlan2012
MessageBox.Show(msg);
Close();
}
}
}