Button
이 클릭되는 빈도를 표시하는 ListBox
을 만들어야합니다.버튼 클릭 주파수 배열
사용자가 클릭 할 수있는 단추 수를 선택합니다. 여기에 내가 무엇을 시도했다입니다 :
int clicked;
clicked = int.Parse(((Button)(sender)).Text);
freq_array[clicked]++;
for (int i = 0; i < freq_array[clicked]; i++)
lstFrequencies.Items[clicked] = clicked + "\t\t" + freq_array[clicked];
freq_array
그 버튼을 클릭 된 주파수에 추가하려면 '클릭'변수를 사용합니다. 또는, 가정합니다.
디버깅 할 때 'clicked'가 항상 0으로 출력됩니다. 'clicked'를 클릭 한 버튼의 텍스트 값과 같게하려고합니다. 프로그램을 실행하려고하면 "입력 문자열이 올바른 형식이 아닙니다."라는 오류 메시지가 나타납니다.
편집 :
여러분의 도움으로 프로그램을 수정할 수있었습니다. 나는 나의 코드가 충분히 명확하지 않다는 것을 깨달았고, 나는 그것에 대해 사과했다. 나는 물건을 더하고 물건을 옮겨서 빨리 가져야했다. 다들 감사 해요. 여기
은 미래에 도움이 필요한 사람들을위한 코드입니다 :public partial class Form1 : Form
{
int[] freq_array = new int[11];
int[] numList = new int[11];
int oBase = 0;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
invisiblity();
}
private void invisiblity()
{
foreach (Control ctrl in this.Controls)
{
if (ctrl is Button)
if (Char.IsDigit(ctrl.Text[0]))
ctrl.Visible = false;
}
}
private void btnSetBase_Click(object sender, EventArgs e)
{
Form2 frmDialog = new Form2();
frmDialog.ShowDialog(this);
if (frmDialog.DialogResult == DialogResult.OK)
{
oBase = frmDialog.Base;
//lblOutDigits.Text = oBase.ToString();
for (int i = 0; i < oBase; i++)
{
numList[i] = i;
}
}
ShowBaseButtons(oBase);
}
private void ShowBaseButtons(int last_digit)
{
invisiblity();
foreach (Control ctrl in this.Controls)
{
if (ctrl is Button)
if (Char.IsDigit(ctrl.Text[0]))
if (int.Parse(ctrl.Text) <= last_digit - 1)
ctrl.Visible = true;
}
}
private void btnN_Click(object sender, EventArgs e)
{
lblOutDigits.Text += ((Button)(sender)).Text;
int clicked = int.Parse(((Button)(sender)).Text);
freq_array[clicked]++;
}
private void btnShowFreq_Click(object sender, EventArgs e)
{
lstFrequencies.Items.Clear();
for (int i = 0; i < oBase; i++)
lstFrequencies.Items.Add(numList[i] + " \t\t\t" + freq_array[i]);
}
에서 단추 레이블는 숫자 코드를 시도? 그렇지 않으면 숫자로 변환하려고 할 때 문제가 있습니다. 단추 텍스트의 값에 대한 로그를 작성하여 처리중인 내용을 정확히 확인하고 이미 사용하고 있지 않은 경우 해시 테이블로 전환하는 것을 고려하십시오. – RonaldBarzell
버튼의 텍스트는 무엇입니까? – caesay
모든 단추는 0 - 10의 숫자입니다. – Bex