0
由於某些原因,即使它在最上方和Activate()打開,我的表單也不總是獲得焦點。和Focus();和BringToFront();都叫。如何專注於表單C#
程序和源代碼: sites.google.com/site/windowsprogramfortranslation/
我添加了所有的這些無處不在,仍是形式和谷歌的文本轉換不會被選中
void FormMain_Shown(object sender, EventArgs e)
{
BringToFront();
webBrowserMain.Focus();
panelMain.Enabled = false;
Focus();
panelMain.Enabled = true;
Activate();
webBrowserMain.Select();
webBrowserMain.Focus();
}
void webBrowserMain_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (webBrowserMain.ReadyState == WebBrowserReadyState.Complete)
{
this.Activate();
webBrowserMain.Select();
webBrowserMain.Focus();
int numOfTries = 0;
repeat:
if (numOfTries < 10)
{
try
{
webBrowserMain.Document.Window.ScrollTo(0, 0);
webBrowserMain.Document.GetElementById("source").Focus();
//webBrowserMain.Document.GetElementById("source").InvokeMember("click");
}
catch
{//if the document hasn't loaded yet
numOfTries++;
System.Threading.Thread.Sleep(40);
goto repeat;
}
}
}
}
public static void openTranslateWindow()
{
formMain.Show();
formMain.TopMost = true;
formMain.WindowState = FormWindowState.Minimized;
formMain.Show();
formMain.WindowState = FormWindowState.Normal;
formMain.BringToFront();
formMain.webBrowserMain.Focus();
formMain.panelMain.Enabled = false;
formMain.Focus();
formMain.panelMain.Enabled = true;
formMain.Activate();
formMain.webBrowserMain.Select();
formMain.webBrowserMain.Focus();
}
'goto'而不是'while'循環,那肯定是一些可愛的代碼! – TheLethalCoder
所以你的表單有一個WebBrowser控件,並且你正試圖在它正在加載的網站上選擇一個文本框? – gunnerone
是的,我試圖選擇我的web瀏覽器中的文本框,它並不總是被選中..請檢查我的webstite中的源代碼。 – John1990