Keypress 我不能打a&引用;带键码

Keypress 我不能打a&引用;带键码,keypress,gecko,Keypress,Gecko,geckoWebBrowser1 firefox浏览器组件有问题。在geckoWebBrowser1_DocumentCompleted事件中,我想在文本框中输入一个电子邮件地址 我必须使用keypress事件,因为文本框要求用户实际键入地址。我的代码确实有效,但电子邮件中的“.”(点)有问题:myemail@hotmail.com" 我已经发现键码:46和8228是一个“.” 1.当我通过46时,它甚至不会在文本框中键入“.” 2.当我通过8228时,它会在文本框中键入“.”,但网页上显示该电

geckoWebBrowser1 firefox浏览器组件有问题。在geckoWebBrowser1_DocumentCompleted事件中,我想在文本框中输入一个电子邮件地址

我必须使用keypress事件,因为文本框要求用户实际键入地址。我的代码确实有效,但电子邮件中的“.”(点)有问题:myemail@hotmail.com"

我已经发现键码:46和8228是一个“.”

1.当我通过46时,它甚至不会在文本框中键入“.”
2.当我通过8228时,它会在文本框中键入“.”,但网页上显示该电子邮件似乎无效,因此它不能是有效的“

我的问题是如何像我尝试做的那样放置一个有效的“.”。 或者如果可以直接注入字符串本身而不是使用键码

private void geckoWebBrowser1\u文档已完成(对象发送方,Gecko.Events.GeckoDocumentCompletedEventArgs e)
{
字符串emailaddress=”myemail@hotmail.com";
var element=geckoWebBrowser1.Document.GetElementById(“登录电子邮件”);
if(元素!=null)
{
DomEventArgs ev=geckoWebBrowser1.Document.CreateEvent(“KeyEvents”);
var webEvent=new Gecko.WebIDL.Event(geckoWebBrowser1.Window.DomWindow,ev.DomEvent作为NSI支持);
InitEvent(“焦点”,真,假);
元素.GetEventTarget().DispatchEvent(ev);
var nsIEventVar=((nsidomkeyent)ev.DomEvent);
char[]inputChars=emailaddress.ToCharray();
foreach(输入字符中的var vchar)
{
int-keyCode=0;
如果(vchar='。)
{
keyCode=46;//或8228
nsIEventVar.InitKeyEvent(新nsAString(“keypress”)、true、false、geckoWebBrowser1.Window.DomWindow、false、false、false、(uint)keyCode、(uint)keyCode);
}
其他的
{
keyCode=(int)(System.Windows.Forms.Keys)vchar;
nsIEventVar.InitKeyEvent(新nsAString(“keypress”)、true、false、geckoWebBrowser1.Window.DomWindow、false、false、false、(uint)keyCode、(uint)keyCode);
}
QueryInterface(element.DomObject).DispatchEvent(nsIEventVar);
}
}

}
我找到了一个棘手的方法来解决它

我首先设置了一个属性值:“.com”(包括“.”) 然后我开始按电子邮件的其余部分:myemail@hotmail"

这确实起了作用,然后被认定为“一个”

elements.SetAttribute(“value”,“.com”);

字符串emailaddress=”myemail@hotmail";粗略一看,8228不可能是
。可能是一个看起来像它的字符,但不是你想要的电子邮件地址中的字符。那不是JavaScript。它看起来可能是Java。是的,8228看起来只是一个“.”但奇怪的是46是一个“.”但代码不会在文本框中键入它?190
event.keycode
无论如何,你为什么对待它与其他字符不同?