100分求一个关于嵌套网页打开窗口的问题。 我做了一个WINFROM的游戏盒子应用程序 , 在WINFORM中嵌套了一个网页 , 我要怎么实现点击网页链接地址的时候弹出一个指定的WINFROM窗口并且传递一个值给WIN窗口 , 谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 拦截 WebBrowser 的 NewWindow 事件。 private void brow_Navigating(object sender, WebBrowserNavigatingEventArgs e) { if (e.Url.AbsoluteUri.StartsWith("command:")) { e.Cancel = true; string[] val = e.Url.LocalPath.Split('|'); if (val[0] == "add") { CB_工具放置单_添加 frm = new CB_工具放置单_添加(m_Operate, val[2], val[3]); if (frm.ShowDialog() == DialogResult.OK) { if (!m_Spare.ContainsKey(val[1])) { DataXml data = new DataXml(); data.Commands.Add(new CommandXml("SELECT cSpareCode, cPaperNo FROM tSpare WHERE iSpareID = " + frm.Spare)); ReturnData rtn = m_Operate.GetData(data.GetXml()); if (rtn.State != EDataTransfersState.Succeed) { return; } DataRow dr = rtn.DTS.Tables[0].Rows[0]; m_Spare[val[1]] = new SpareQty(frm.Spare, dr[0].ToString(), dr[1].ToString(), 0, frm.Spec); } m_Spare[val[1]].Qty += frm.Qty; } } else if (val[0] == "delete") { m_Spare.Remove(val[1]); } else if (val[0] == "clear") { DataXml data = new DataXml(); data.Commands.Add(new CommandXml("DELETE tAutomatSpare WHERE cMac = '" + m_ID + "' AND oLay = '" + val[1] + "' AND iQty = 0")); m_Operate.UpdataData(data.GetXml()); } UpdateHtml(); } #endregion } private void UpdateHtml() { brow.Navigate(CG_全局.Function.GetHtml(doc.InnerXml, Properties.Resources.Automat)); } 一段示例,我写的,主要部份是这个点击网面连接的时候,用这个事件private void brow_Navigating(object sender, WebBrowserNavigatingEventArgs e)事件里e.Url是点的连接地址e.Cancel = true;是告诉IE控制不要再处理连接了CB_工具放置单_添加 frm = new CB_工具放置单_添加(m_Operate, val[2], val[3]);frm.ShowDialog() == DialogResult.OK;这个是可以弹一个新的窗口 有关程序中流程图的问题 《C# Language Reference》太晦涩了 VS2005如何给C#做一个Project Template?高手指路啊! 四级,伤透了我的心呀??? 字符串翻转? 请问vc++下的函数如何被c#.net调用? 怎么不画图了-form上panel 在线等!!!! 如何用reporting servise 制作一个能动态生成表格的报表啊 c#中combobox问题 矩形的Width,Height为负时无法显示 .net半角全角自动切换。。很急啊! gridview中如何让一个表头列中包含多个字段?
{
if (e.Url.AbsoluteUri.StartsWith("command:"))
{
e.Cancel = true; string[] val = e.Url.LocalPath.Split('|'); if (val[0] == "add")
{
CB_工具放置单_添加 frm = new CB_工具放置单_添加(m_Operate, val[2], val[3]); if (frm.ShowDialog() == DialogResult.OK)
{
if (!m_Spare.ContainsKey(val[1]))
{
DataXml data = new DataXml();
data.Commands.Add(new CommandXml("SELECT cSpareCode, cPaperNo FROM tSpare WHERE iSpareID = " + frm.Spare)); ReturnData rtn = m_Operate.GetData(data.GetXml()); if (rtn.State != EDataTransfersState.Succeed)
{
return;
} DataRow dr = rtn.DTS.Tables[0].Rows[0]; m_Spare[val[1]] = new SpareQty(frm.Spare, dr[0].ToString(), dr[1].ToString(), 0, frm.Spec);
} m_Spare[val[1]].Qty += frm.Qty;
}
}
else if (val[0] == "delete")
{
m_Spare.Remove(val[1]);
}
else if (val[0] == "clear")
{
DataXml data = new DataXml();
data.Commands.Add(new CommandXml("DELETE tAutomatSpare WHERE cMac = '" + m_ID + "' AND oLay = '" + val[1] + "' AND iQty = 0"));
m_Operate.UpdataData(data.GetXml());
} UpdateHtml();
} #endregion
} private void UpdateHtml()
{
brow.Navigate(CG_全局.Function.GetHtml(doc.InnerXml, Properties.Resources.Automat));
}
点击网面连接的时候,用这个事件
private void brow_Navigating(object sender, WebBrowserNavigatingEventArgs e)
事件里e.Url是点的连接地址
e.Cancel = true;是告诉IE控制不要再处理连接了CB_工具放置单_添加 frm = new CB_工具放置单_添加(m_Operate, val[2], val[3]);
frm.ShowDialog() == DialogResult.OK;
这个是可以弹一个新的窗口