당신은, 단지 '다른'할 것이다, 당신의 '만약 다른'에서 만 조건이 필요하지 않습니다 다른 가능성은 0입니다. 또한 컨트롤 이름을 하드 코딩하는 대신 보낸 사람을 사용할 수 있습니다.
그런 다음 비활성화하려는 텍스트 상자의 Enabled 속성을 설정하십시오. 입력하는 것을 제외하고 양식의 모든 텍스트 상자를 반복하거나 수동으로 나열 할 수 있습니다. SImpler가 텍스트 상자를 그룹 상자에 넣으면 그룹 상자를 사용하지 않으면 해당 상자 안에 컨트롤이 비활성화됩니다.
private void textBox1_TextChanged(object sender, EventArgs e)
{
var senderTextBox = (TextBox)sender;
var textBoxesEnabled = senderTextBox.Text.Trim().Length == 0;
textBox2.Enabled = textBoxesEnabled;
textBox3.Enabled = textBoxesEnabled;
// OR
groupBox1.Enabled = textBoxesEnabled;
}
REPLY 편집 : 당신은 텍스트 상자의 체인, 다음, 그 중 4, 마지막 3을 사용하지 않도록 말할 수있다 :
void TextBox1TextChanged(object sender, System.EventArgs e)
{
var isTextEmpty = ((TextBox)sender).Text.Trim() == "";
textBox2.Enabled = !isTextEmpty;
}
void TextBox2TextChanged(object sender, System.EventArgs e)
{
var isTextEmpty = ((TextBox)sender).Text.Trim() == "";
textBox1.Enabled = isTextEmpty;
textBox3.Enabled = !isTextEmpty;
}
void TextBox3TextChanged(object sender, System.EventArgs e)
{
var isTextEmpty = ((TextBox)sender).Text.Trim() == "";
textBox2.Enabled = isTextEmpty;
textBox4.Enabled = !isTextEmpty;
}
void TextBox4TextChanged(object sender, System.EventArgs e)
{
var isTextEmpty = ((TextBox)sender).Text.Trim() == "";
textBox3.Enabled = isTextEmpty;
}
그러나 텍스트 상자의 많은 양에 대한
이, 또 다른 여러 텍스트 상자 점유율을 가지고있다 같은 TextChanged 이벤트. 각 TextBox 컨트롤을 클릭하고 이벤트 목록으로 이동하여 TextChanged에 대한 메서드를 수동으로 선택해야합니다. 방법은 다음과 같습니다.
private void TextBoxGroup_TextChanged(object sender, EventArgs e)
{
var groupOrder = new List<TextBox>() { textBox1, textBox2, textBox3, textBox4 };
var senderTextBox = (TextBox)sender;
var senderIndex = groupOrder.IndexOf(senderTextBox);
var isTextEmpty = senderTextBox.Text.Trim() == "";
if (senderIndex != 0) groupOrder[senderIndex - 1].Enabled = isTextEmpty;
if (senderIndex != groupOrder.Count - 1) groupOrder[senderIndex + 1].Enabled = !isTextEmpty;
}
BTW 이것은 완전히 끔찍한 UX로 들립니다. 제발 하지마. – Aron
또한 어떤 UI 기술을 사용하고 있는지 메모하지 않습니다. WPF를 사용하는 경우 WinForm을 사용한 경우와 다르게 수행하고 WebForm 또는 MVC에서이 작업을 수행하는 경우 Javascript를 사용하여 실제로이 작업을 수행 할 수 있습니다. – Aron