これは、最初に表示されるコントロールをフォームにフォーカスするために作成した IF -Else はしごです。要件に従って、フォーム上で任意のコントロールを非表示にすることができます。そのため、最初に表示されるコントロールを見つけてフォーカスする必要がありました。
if (ddlTranscriptionMethod.Visible)
{
ddlTranscriptionMethod.Focus();
}
else if (ddlSpeechRecognition.Visible)
{
ddlSpeechRecognition.Focus();
}
else if (!SliderControl1.SliderDisable)
{
SliderControl1.Focus();
}
else if (ddlESignature.Visible)
{
ddlESignature.Focus();
}
else
{
if (tblDistributionMethods.Visible)
{
if (chkViaFax.Visible)
{
chkViaFax.Focus();
}
else if (chkViaInterface.Visible)
{
chkViaInterface.Focus();
}
else if (chkViaPrint.Visible)
{
chkViaPrint.Focus();
}
else
{
chkViaSelfService.Focus();
}
}
}
これを行う他の方法はありますか?ページコレクション全体を横断する必要があるため、LINQを使用するとパフォーマンスが低下すると思いました。マスターページのあるページに深く関わっています。提案してください。