私は現在、いくつかのコントロール (textBox) にフォーカスを設定しようとしても何も起こらないという問題に直面しています。 、しかし、それもうまくいきません)
フォーム ログインから、EncryptPSW フォームの新しいインスタンスを起動します
private void openToolStripMenuItem_Click(object sender, EventArgs e)
{
EncryptPSW ePSW = new EncryptPSW();
ePSW.setOsLog(false, this);
ePSW.ShowDialog();
}
ボタン(EncryptPSWフォームにあります)で、イベントをクリックして、fillメソッドを呼び出します
public void fill()
{
if (textBoxPSW.Text.Length == 8)//psw has to be 8 chars long
{
if (save)//determinating whether save or fetch of data should be done
{ login.launchSave(textBoxPSW.Text,this); }
else { login.launchOpen(textBoxPSW.Text,this); }
}
else { MessageBox.Show("The password must contain 8 characters");}
}
ログインから保存または開くメソッドを起動します(保存中にフォーカスで何もする必要がないため、私の問題は開くだけです)
public void launchOpen(string psw,EncryptPSW ePSW)
{
ePSW.Close();
Encryptor.DecryptFile("loggin.bin", psw, this); //decrypting data and setting textBoxes Text property into the fetched ones
setFocus();
}
すべての作業が完了したら、フォーカスやその他のプロパティを設定するために setFocus() を呼び出す必要があります。
public void setFocus()
{
textBoxDatabase.Focus();
textBoxDatabase.SelectionStart = textBoxDatabase.TextLength - 1;
textBoxDatabase.SelectionLength = 0;
}
次のように、さまざまな方法を試しました。
EncryptPSW_FormClosed 内から setFocus() を呼び出します。
Form_Closed の場合、奇妙なことに、フォーカスを設定する代わりにそこからメッセージ ボックスを表示しようとすると (問題がどこにあるかを確認するため)、EncryptPSW フォームが閉じられる前に表示されます。
これについての私の唯一の推測は、 EncryptPSW のインスタンスが何らかの形でログインフォームをブロックしており、それがコントロールであるということです
私の問題を十分に説明し、少なくとも少しは意味があることを願っています;]
前もって感謝します、
よろしく、
ルレ