C#에서 다음과 같은 컨트롤 배열을 사용하여 응용 프로그램을 작성하고 있습니다.tabcontrol의 컨트롤에 어떻게 액세스합니까?
먼저 splitcontainer가 들어있는 하위 폼이 있습니다.이 패널에는 두 개의 패널, 왼쪽에는 Panel1, 오른쪽에는 Panel2가 있습니다. Panel1에는 확인란과 텍스트 상자가 있습니다. Panel2에는 탭 컨트롤이 있습니다. 프로그래밍 방식으로 생성 될 때 각 탭에는 확인란과 텍스트 상자가 포함됩니다.
자식 폼의 맨 위에 저장을 클릭하면 Panel1의 모든 컨트롤의 모든 데이터가 올바르게 이진 파일에 저장됩니다. 그런 다음 저장 루틴은 탭 컨트롤의 각 탭을 반복하고 각 탭의 체크 상자와 텍스트 상자의 데이터를 저장해야합니다. 여기에 지금까지 무엇을 가지고 : ". 현재 컨텍스트에 존재하지 않는"
foreach (TabPage tab in tabControl1.TabPages)
{
string Question = tbQuestion.Text(tabControl1.SelectedIndex);
}
불행하게도, tbQuestion.Text이 오류 메시지가 있음을 나타내는 그 아래 위글 라인 끝 각 탭의 다른 모든 컨트롤에서도 마찬가지입니다. 각 탭의 컨트롤에 액세스하려면 어떻게해야합니까? 당신은 당신이 컨트롤의 쌍 항목을 추가 만들 때 당신은 다음
Dictionary<TextBox,Checkbox> questionsAndAnswers = new Dictionary<TextBox,CheckBox>();
같은 것을 할 수있는 프로그램을 만드는 잘 경우
foreach (TabPage tab in tabControl1.TabPages)
{
Control ctl = tp.Controls.Cast<Control>().Where(c=>c.Name=="tbQuestion").FirstOrDefault();
string Question = ... ctl.Text;
}
토니에게 감사드립니다. 나는 확실히리스트 아이디어를 시도해 볼 것입니다. 내가 필요한 것처럼 들린다. 여러 탭을 반복하는 것은 실제로해야 할 일보다 훨씬 많은 작업처럼 들립니다. 더 쉬운 방법이 있다면, 왜 안되죠? –
user2272380