1
我有一個程序根據選定的單選按鈕(用戶選擇)以兩種不同的方式執行代碼。我的問題是我無法得到用戶選擇的內容,也就是說,根據單選按鈕的選擇,它假定以不同方式執行的代碼,該代碼段不會執行。使用單選按鈕
這裏是我做了什麼: -
這是我確定已經從單選按鈕選擇哪些用戶
public Airplane_Simulation()
{
InitializeComponent();
if (rbZero.Checked==true) //checks whether it is selected
{
section = rbZero.Text; //if true assigns it's text to a variable.
}
else if (rbOne.Checked == true)
{
section = rbOne.Text;
}
semaphore = new Semaphore();
buff = new Buffer();
btnPnlT1 = new ButtonPanelThread(new Point(40, 5), 50, pnlArrival, false, Color.Red, semaphore, buff, btnGo);
waitingTakeOff = new waitPanels(new Point(490, 5), 50, pnlTakeOff, false, Color.Green, semaphore, buff,section);
thread1 = new Thread(new ThreadStart(btnPnlT1.start));
thread3 = new Thread(new ThreadStart(waitingTakeOff.start));
thread1.Start();
thread3.Start();
}
這是應該執行基礎上的代碼中的一部分用戶選擇
if(section.Equals("0")) //if the variable match 0 it should this code
{
for (int k = 0; k < 15; k++)
{
panel.Invalidate();
this.movePlane(xDelta, yDelta);
Thread.Sleep(delay);
}
}
else if (section.Equals("1")) // if variable matches 1 it
// should execute this code
{
for (int k = 0; k < 40; k++)
{
panel.Invalidate();
this.movePlane(xDelta, yDelta);
Thread.Sleep(delay);
}
}
我試着將值直接分配給變量部分,而不從單選按鈕中取出,然後工作。所以我相信這是使用單選按鈕時分配的。
謝謝你的時間。
當你的表單第一次打開時,用戶沒有機會選擇一個,你需要創建一個選擇改變的事件,btw'else if'在兩行上可能會創建一個嵌套的if聲明而不是'elseif或else' – Sayse
你可以顯示RadioButton事件的代碼嗎? –
我沒有爲單選按鈕創建任何更改事件,所以我會嘗試創建它們。再次感謝 :) –