private void initBrowser() { browser = new Gecko.GeckoWebBrowser(); browser.Dock = DockStyle.Fill; browser.DomClick += onDomClick; splitContainer.Panel2.Controls.Add(browser); }
public HTTPBase(RenderingEngine RenderingEngine) { try { switch (RenderingEngine) { case RenderingEngine.Gecko: this.Control = new MiniGeckoBrowser.MiniGeckoBrowser(); (this.Control as MiniGeckoBrowser.MiniGeckoBrowser).XULrunnerPath = Settings.Default.XULRunnerPath; break; case RenderingEngine.IE: this.Control = new WebBrowser(); break; case RenderingEngine.GeckoFX: Control = new Gecko.GeckoWebBrowser(); Gecko.Xpcom.Initialize(Settings.Default.XULRunnerPath); break; } NewExtended(); } catch (Exception ex) { Runtime.MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, Language.strHttpConnectionFailed + Constants.vbNewLine + ex.Message, true); } }
//bieu tuong kinh lup private void toolStripButton5_Click(object sender, EventArgs e) { Gecko.GeckoWebBrowser web = tabControl1.SelectedTab.Controls[0] as Gecko.GeckoWebBrowser; web.Navigate(txtUrl.Text); }
public Form1() { InitializeComponent(); //m_srchPanel = new SearchPanel(cnnStr, false); //m_srchPanel.OnSelectTitle += (s, e) => //{ // Debug.WriteLine("titleId {0}", e); //}; //this.Controls.Add(m_srchPanel.m_tblLayout); //this.AcceptButton = m_srchPanel.m_acceptBtn; m_wb = new Gecko.GeckoWebBrowser(); m_wb.Dock = DockStyle.Fill; m_wb.Visible = false; //m_wb.AddMessageEventListener("func1", onFunc1); //wb.DomClick += Wb_DomClick; //wb.LoadHtml("<html><body></body></html>", "http://blank"); this.Controls.Add(m_wb); this.Load += Form1_Load; var rtbcol = new DataGridViewRichTextBoxColumn(); dataGridView1.Columns.Add(rtbcol); //dataGridView1.Rows.Add(row); }
static void ExtractDependencies() { //Wow. This'll make it easy for people... string path = Directory.GetParent(Application.ExecutablePath).FullName; if (!File.Exists(path + OSInfo.DirectorySeparator + "NetSockets.dll")) { File.WriteAllBytes(path + OSInfo.DirectorySeparator + "NetSockets.dll", Properties.Resources.NetSockets); } string temppath = path + OSInfo.DirectorySeparator + "temp"; string zippath = path + OSInfo.DirectorySeparator + "depend.zip"; var wc = new WebClient(); //Newtonsoft.Json is REQUIRED for the ShiftOS engine to start. if (!File.Exists(path + OSInfo.DirectorySeparator + "Svg.dll")) { wc.DownloadFile("http://playshiftos.ml/shiftos/dependencies/Svg.dll", path + OSInfo.DirectorySeparator + "Svg.dll"); } if (!File.Exists(path + OSInfo.DirectorySeparator + "Newtonsoft.Json.dll")) { wc.DownloadFile("http://playshiftos.ml/shiftos/dependencies/Newtonsoft.Json.dll", path + OSInfo.DirectorySeparator + "Newtonsoft.Json.dll"); } //Download optional dependencies. wc.DownloadFileCompleted += (object s, AsyncCompletedEventArgs e) => { if (Directory.Exists(temppath)) { Directory.Delete(temppath, true); } bool firstfile = false; ZipFile.ExtractToDirectory(zippath, temppath); foreach (string f in Directory.GetFiles(temppath)) { var finf = new FileInfo(f); if (!File.Exists(path + OSInfo.DirectorySeparator + finf.Name)) { File.Copy(finf.FullName, path + OSInfo.DirectorySeparator + finf.Name); } } //Delete that damn temp folder and zip file. File.Delete(zippath); Directory.Delete(temppath, true); }; //Because these files aren't needed for ShiftOS to function fundamentally, they're downloaded asynchronously in the background. try { //Create a new Lua API object, and a new Gecko web renderer. If the job fails, then redownload requisite libraries after notifying the user. var l = new LuaInterpreter(); var w = new Gecko.GeckoWebBrowser(); l = null; w.Dispose(); GC.Collect(); } catch (Exception ex) { MessageBox.Show("Sorry to break the immersion, but we're currently downloading ShiftOS dependencies that'll make the game run MUCH better, such as the Lua engine and Gecko web renderer. Give us a moment. ShiftOS will continue to run while this happens but some things won't work right until we're finished."); wc.DownloadFileAsync(new Uri("http://playshiftos.ml/shiftos/dependencies/ShiftOS_Dependencies.zip"), zippath); } }
//nut home private void toolStripButton1_Click(object sender, EventArgs e) { Gecko.GeckoWebBrowser web = tabControl1.SelectedTab.Controls[0] as Gecko.GeckoWebBrowser; if (web != null) { web.Navigate("https://www.google.com"); } }
//nut stop private void toolStripButton4_Click(object sender, EventArgs e) { Gecko.GeckoWebBrowser web = tabControl1.SelectedTab.Controls[0] as Gecko.GeckoWebBrowser; if (web != null) { web.Stop(); } }
//bieu tuong kinh lup private void toolStripButton5_Click(object sender, EventArgs e) { geckoWebBrowser1.Navigate("https://www.google.com"); Gecko.GeckoWebBrowser web = tabControl1.SelectedTab.Controls[0] as Gecko.GeckoWebBrowser; web.Navigate(txtUrl.Text); }
public void OpenFavorites(Gecko.GeckoWebBrowser b) { favoriteRightButton.Location = new Point(favoritesLayoutPanel.Location.X + favorite1Button.Width + (favoritesLayoutPanel.Location.X - favoriteLeftButton.Location.X - favoriteLeftButton.Width) + 2, favoriteLeftButton.Location.Y); browser = b; page = 0; UpdateList(); this.Visible = true; this.BringToFront(); }
//nhap url vao textbox cua cac tab private void txtUrl_KeyDown(object sender, KeyEventArgs e) { Gecko.GeckoWebBrowser web = tabControl1.SelectedTab.Controls[0] as Gecko.GeckoWebBrowser; if (e.KeyCode == Keys.Enter) { web.Navigate(txtUrl.Text); } }
private void Form1_Load(object sender, EventArgs e) { Gecko.Xpcom.Initialize(Application.StartupPath + "\\Firefox"); webBrowser = new Gecko.GeckoWebBrowser(); webBrowser.DocumentCompleted += WebBrowser_DocumentCompleted; webBrowser.NavigationError += WebBrowser_NavigationError; elapsedTime = 0; timer1.Start(); listTaiXiu = new List <TaiXiu>(); getData(); }
private void btnStart_Click(object sender, EventArgs e) { web = new Gecko.GeckoWebBrowser(); // web.Navigate("https://onlinevideoconverter.com/video-converter"); WebBrowser web2 = new WebBrowser(); web2.Navigate("https://onlinevideoconverter.com/video-converter"); string a = cbAudioFm.SelectedItem.ToString().Substring(1); web.DocumentCompleted += new EventHandler <Gecko.Events.GeckoDocumentCompletedEventArgs>(LayThongTin); }
public EyeTrackingHandler(Gecko.GeckoWebBrowser b, TransparentPanel scroll, Keyboard keys, FavoritesPanel favorites, Button click, Panel close) { host = new Host(); fixationStream = host.Streams.CreateFixationDataStream(FixationDataMode.Slow); HandleFixation(); acceptClick = true; circleCenter = new Point(1, 1); zooming = false; zoomingExecution = false; freePointingExecution = false; pointedPosition = new Point(1, 1); browser = b; browserX = browser.Location.X; width = browserX + browser.Width; browserY = browser.Location.Y; height = browserY + browser.Height; clickButton = click; scrollPanel = scroll; keyboardPanel = keys; closePanel = close; favoritesPanel = favorites; firstPointedX = 0; firstPointedY = 0; pointedX = 0; pointedY = 0; fixationCounter = 0; requiredSamplings = 120; radiusLimit = 150; zoomingSamplings = 30; scrollingSamplings = 10; settingsPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "EyeBrowserTimingPreferences.txt"); if (File.Exists(settingsPath)) { using (StreamReader reader = new StreamReader(settingsPath)) { requiredSamplings = Int32.Parse(reader.ReadLine()); radiusLimit = Int32.Parse(reader.ReadLine()); zoomingSamplings = Int32.Parse(reader.ReadLine()); scrollingSamplings = Int32.Parse(reader.ReadLine()); } } else { using (StreamWriter writer = new StreamWriter(settingsPath, false)) { writer.WriteLine(requiredSamplings); writer.WriteLine(radiusLimit); writer.WriteLine(zoomingSamplings); writer.WriteLine(scrollingSamplings); } } }
public Form1() { InitializeComponent(); Gecko.Xpcom.EnableProfileMonitoring = false; Gecko.Xpcom.Initialize("Firefox"); geckoWebBrowser = new Gecko.GeckoWebBrowser { }; geckoWebBrowser.Parent = this.panel1; geckoWebBrowser.Dock = DockStyle.Fill; string filename = @"map.html"; geckoWebBrowser.Navigate(Path.Combine(folderpath, filename)); }
protected virtual void InitCtrls() { var tbl = new TableLayoutPanel(); tbl.Dock = DockStyle.Fill; var spl = new SplitContainer(); spl.Dock = DockStyle.Fill; spl.Orientation = Orientation.Vertical; // spl1 | spl2 spl.FixedPanel = FixedPanel.Panel1; spl.SplitterDistance = 150; tbl.Controls.Add(spl); var pg = new TabPage(); pg.Controls.Add(tbl); var trvw = new TreeView(); //var trvw = new RikTheVeggie.TriStateTreeView(); trvw.Dock = DockStyle.Fill; //trvw.CheckBoxes = true; spl.Panel1.Controls.Add(trvw); m_treeCms = new ContextMenuStrip(); var mi = m_treeCms.Items.Add("Refresh"); mi.Click += TCMS_RefreshClick; #if use_gecko var wb = new Gecko.GeckoWebBrowser(); wb.LoadHtml("<html><body></body></html>", "http://blank"); #elif use_chromium if (!Cef.IsInitialized) { var settings = new CefSettings(); CefSharp.Cef.Initialize(settings); } var wb = new ChromiumWebBrowser(""); #else var wb = new WebBrowser(); #endif wb.Dock = DockStyle.Fill; spl.Panel2.Controls.Add(wb); //save control handles m_wb = wb; m_tree = trvw; m_pg = pg; m_tbl = tbl; m_spl = spl; }
private void btnNewtab_Click(object sender, EventArgs e) { TabPage tab = new TabPage(); tab.Text = "New Tab"; tabControl1.Controls.Add(tab); tabControl1.SelectTab(tabControl1.TabCount - 1); webTab = new Gecko.GeckoWebBrowser(); webTab.Parent = tab; webTab.Dock = DockStyle.Fill; webTab.Navigate("https://www.google.com"); txtUrl.Text = "https://www.google.com"; webTab.DocumentCompleted += WebTab_DocumentCompleted1; }
public Form1() { InitializeComponent(); var menu = new MenuStrip(); var fileMI = new ToolStripMenuItem("&File"); menu.Items.Add(fileMI); fileMI.DropDownItems.Add("&Open").Click += (s, e) => { OnOpenDb(s, e); }; fileMI.DropDownItems.Add("&Preview").Click += (s, e) => { PreviewTitle(s, e); }; fileMI.DropDownItems.Add("&Export").Click += (s, e) => { ExportSelected(s, e); }; fileMI.DropDownItems.Add("&Find").Click += (s, e) => { OpenFindWnd(); }; this.MainMenuStrip = menu; var configMI = new ToolStripMenuItem("&Config"); menu.Items.Add(configMI); configMI.DropDownItems.Add("&Font").Click += (s, e) => { MiFont_Click(s, e); }; m_sc = new SplitContainer(); m_sc.Dock = DockStyle.Fill; Controls.Add(m_sc); //tree m_nodeDict = new Dictionary <string, Node>(); m_tree = new TreeView(); m_sc.Panel1.Controls.Add(m_tree); m_treeStyle = TreeStyle.check; initTree(); //set state imagine m_tree.Dock = DockStyle.Fill; m_tree.NodeMouseClick += OnTreeNodeClick; m_tree.NodeMouseDoubleClick += OnTreeNodeDblClick; m_tree.Visible = true; m_tree.Nodes.Add(new TreeNode() { Text = "None", SelectedImageIndex = 0 }); m_rsc = new SplitContainer() { Dock = DockStyle.Fill, }; #if use_rtb m_rtb = new RichTextBox(); m_rtb.Dock = DockStyle.Fill; m_rsc.Panel1.Controls.Add(m_rtb); #else #if use_gecko var wb = new Gecko.GeckoWebBrowser(); //wb.LoadHtml("<html><body></body></html>", "http://blank"); #elif use_chromium var wb = new CefSharp.WinForms.ChromiumWebBrowser(""); #else var wb = new WebBrowser(); #endif wb.Dock = DockStyle.Fill; m_wb = wb; m_rsc.Panel1.Controls.Add(m_wb); #endif var edtPanel = new EditPanel(); m_edtPanel = edtPanel; m_rsc.Panel2Collapsed = true; m_rsc.Panel2.Hide(); m_rsc.Panel2.Controls.Add(edtPanel.m_tlp); m_sc.Panel2.Controls.Add(m_rsc); var bs = new BindingSource { DataSource = edtPanel.m_dataTable }; edtPanel.m_dataTable.RowChanged += OnEditPar; edtPanel.OnHideEditor += OnCloseEditor; bs.CurrentItemChanged += Bs_CurrentItemChanged; bs.CurrentChanged += Bs_CurrentChanged; this.Controls.Add(menu); this.Load += OnLoadForm; this.FormClosed += OnCloseForm; }
/// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { components = new Gecko.GeckoWebBrowser(); }
public SearchPanel(string cnnStr, bool bldSrchDb = false) { this.cnnStr = cnnStr; m_tblLayout = new TableLayoutPanel(); m_tblLayout.Dock = DockStyle.Fill; var edt = new TextBox(); edt.Anchor = AnchorStyles.Left | AnchorStyles.Right; var btn = new Button(); btn.Text = "Search"; btn.AutoSize = true; btn.Anchor = AnchorStyles.Right; if (!bldSrchDb) { btn.Click += (s, e) => { OnSearch(edt.Text); }; } else { btn.Click += (s, e) => { BuildSearchDb(); }; } m_acceptBtn = btn; #if use_chromium var lst = new CefSharp.WinForms.ChromiumWebBrowser(""); lst.Dock = DockStyle.Fill; JsHandler jsHandler = new JsHandler(); jsHandler.OnTitleSelected += (s, e) => { Debug.WriteLine("OnSelectTitle {0}", e); OnSelectTitle?.Invoke(s, Convert.ToUInt64(e)); }; lst.JavascriptObjectRepository.Register("jsHandler", jsHandler, true); m_wb = lst; #elif use_gecko var lst = new Gecko.GeckoWebBrowser(); lst.Dock = DockStyle.Fill; m_wb = lst; #else var lst = new ListView(); lst.View = View.Details; lst.FullRowSelect = true; lst.GridLines = true; lst.Dock = DockStyle.Fill; lst.ItemSelectionChanged += (s, e) => { //UInt64 titleId = 0; foreach (ListViewItem li in lst.SelectedItems) { //UInt64.TryParse(li.SubItems[1].Text, out titleId); //OnSelectTitle(titleId); OnSelectTitle?.Invoke(s, Convert.ToUInt64(li.SubItems[1].Tag)); break; } }; m_lstV = lst; #endif //var sts = new StatusBar //{ // Dock = DockStyle.Bottom, // ShowPanels = false //}; //m_sts = sts; //m_trck = new TrackBar(); //m_trck.Maximum = 1000; //m_trck.Minimum = 500; //m_trck.Height = 30; //var flow = new FlowLayoutPanel(); //flow.Dock = DockStyle.Fill; //flow.FlowDirection = FlowDirection.RightToLeft; //flow.Height = 30; //m_sts.Height = 50; //m_sts.Width = 300; //flow.Controls.Add(m_trck); //flow.Controls.Add(m_sts); int iRow = 0; m_tblLayout.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100)); m_tblLayout.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize)); m_tblLayout.RowStyles.Add(new RowStyle(SizeType.AutoSize)); //m_tblLayout.RowStyles.Add(new RowStyle(SizeType.AutoSize)); m_tblLayout.RowStyles.Add(new RowStyle(SizeType.Percent, 100)); m_tblLayout.RowStyles.Add(new RowStyle(SizeType.AutoSize)); m_tblLayout.CellBorderStyle = TableLayoutPanelCellBorderStyle.Single; m_tblLayout.Controls.Add(edt, 0, iRow); m_tblLayout.Controls.Add(btn, 1, iRow++); m_tblLayout.Controls.Add(lst, 0, iRow++); m_tblLayout.SetColumnSpan(lst, 2); //m_tblLayout.Controls.Add(sts, 0, iRow); //m_tblLayout.Controls.Add(m_trck, 1, iRow); m_tblLayout.CellBorderStyle = TableLayoutPanelCellBorderStyle.None; var statusStrip1 = new StatusStrip(); statusStrip1.LayoutStyle = ToolStripLayoutStyle.Table; var toolStripStatusLabel1 = new ToolStripStatusLabel(); toolStripStatusLabel1.Anchor = AnchorStyles.Right; toolStripStatusLabel1.TextAlign = System.Drawing.ContentAlignment.MiddleRight; var ToolStripTraceBarItem = new ToolStripTraceBarItem(); ToolStripTraceBarItem.Anchor = AnchorStyles.Left; statusStrip1.Items.Add(ToolStripTraceBarItem); statusStrip1.Items.Add(toolStripStatusLabel1); m_tblLayout.Controls.Add(statusStrip1); m_tblLayout.SetColumnSpan(statusStrip1, 2); m_trck = (TrackBar)ToolStripTraceBarItem.Control; m_sts = toolStripStatusLabel1; m_trck.Maximum = 1000; m_trck.Minimum = 500; var cfg = ConfigMng.getInstance(); m_trck.Value = cfg.m_srchMaxD; m_trck.ValueChanged += M_trck_ValueChanged; toolStripStatusLabel1.Text = "status"; }
public Form1() { //// 35080719 136575365 //int LatMill7 = 0, Lon_Milli7 = 0; ////CarsLat CarsLong 3509137 13652130 ////602 KokLatitude KokLongitude 1265492 4928345 度分秒 3509092 13653545 //// uti 35°9′8.98″ 136°53′54.5″ 126548980 492834500 //if (vb_dll.clsConvertLibrary.度分秒をミリ秒に変換(35080719, 136575365, ref LatMill7, ref Lon_Milli7)) //{ //} Gecko.Xpcom.Initialize(".\\LIB\\xulrunner-33\\xulrunner"); InitializeComponent(); mGoogleMaps = new GoogleMapsControl(this); mGeckoWebBrowser = ((Form1)this).geckoWebBrowser1; var msg = ""; timer1.Enabled = false; timer1.Interval = 1000; dtDateTimePicker予約.Value = DateTime.Now.Date; mDataOP = new MiraiShareDataOP(); //mDataOP.conMiraiDBStr = "Server=vm-k1002-sv;uid=MiraiShare;database=Test;pwd=miraishare987"; mDataOP.conMiraiDBStr = "Server=192.168.1.115;uid=AiTest;database=GpsAiDispatch;pwd=332211"; //mDataOP.conYoyakuDBStr = "Server=gpslogserver;uid=hirose;database=tsubameCTI;pwd=998877"; mDataOP.conYoyakuDBStr = "Server=gpslogserver;uid=CTI0001;database=tsubameCTI;pwd=222cti333"; mDataOP.setListBox(listBox1); mDataOP.messageLog("start"); List <string[, ]> l = new List <string[, ]>(); l.Add(new string[, ] { { "Willdo松原", "35.155795, 136.895486" } }); l.Add(new string[, ] { { "アスナル金山", "35.144415, 136.901190" } }); l.Add(new string[, ] { { "栄三越", "35.168743, 136.907851" } }); l.Add(new string[, ] { { "名駅", "35.171076, 136.884044" } }); l.Add(new string[, ] { { "伏見", "35.169130, 136.897206" } }); l.Add(new string[, ] { { "大須", "35.159939, 136.907075" } }); // DataTableを作成 DataTable dataTable1 = new DataTable(); DataTable dataTable2 = new DataTable(); dataTable1.Columns.Add("名称"); dataTable1.Columns.Add("LatLon"); dataTable2.Columns.Add("名称"); dataTable2.Columns.Add("LatLon"); for (int i = 0; i < l.Count; i++) { // DataTableにデータを追加 DataRow row1 = dataTable1.NewRow(); DataRow row2 = dataTable2.NewRow(); row1["名称"] = l[i][0, 0]; row1["LatLon"] = l[i][0, 1]; row2["名称"] = l[i][0, 0]; row2["LatLon"] = l[i][0, 1]; dataTable1.Rows.Add(row1); dataTable2.Rows.Add(row2); } // コンボボックスにデータテーブルをセット this.comboPos1.DataSource = dataTable1; this.comboPos2.DataSource = dataTable2; //// 表示用の列を設定 this.comboPos1.DisplayMember = "名称"; this.comboPos2.DisplayMember = "名称"; //// データ用の列を設定 this.comboPos1.ValueMember = "LatLon"; this.comboPos2.ValueMember = "LatLon"; msg = ""; if (!mDataOP.initialize(ref msg)) { var s = "初期化に失敗しました:" + msg; MessageBox.Show(s); messageLog(s); Environment.Exit(1); } if (mDataOP.LastTask != null) { var tmp状態 = mDataOP.LastTask["状態"].ToString(); //行がある if (tmp状態 == DEMAND_STATUS.計算中.ToString()) { var r = mDataOP.LastTask; mDataOP.処理日時 = DateTime.Parse(r["処理日時"].ToString()); mDataOP.計算開始日時 = DateTime.Parse(r["計算開始日時"].ToString()); mDataOP.計算終了日時 = DateTime.Parse(r["計算終了日時"].ToString()); mDataOP.データ開始日時 = DateTime.Parse(r["データ開始日時"].ToString()); mDataOP.データ終了日時 = DateTime.Parse(r["データ終了日時"].ToString()); timer1.Enabled = true; //var s = DEMAND_STATUS.計算完了; //var s = DEMAND_STATUS.キャンセル; //var s = DEMAND_STATUS.計算失敗; //var s = DEMAND_STATUS.計算中; } } //行がなければ何もしない if (!mGoogleMaps.initialize(ref msg)) { MessageBox.Show("GoogleMap.js読み込み時にエラーが起きました。継続できません。アプリを終了します\\n" + msg); Environment.Exit(1); } ////////dgvDetail.Columns["No."].Width = 30; ////////dgvDetail.Columns["イベント"].Width = 50; ////////dgvDetail.Columns["イベント日時"].Width = 110; ////////dgvDetail.Columns["住所"].Width = 300; ////////dgvDetail.Columns["名称"].Width = 300; hashColumnName.Add("No.", 30); hashColumnName.Add("イベント", 50); hashColumnName.Add("イベント日時", 110); hashColumnName.Add("住所", 150); hashColumnName.Add("名称", 300); hashColumnName.Add("passengerId", 50); hashColumnName.Add("demandId", 50); //getdata(); //DataGridViewCellEventArgs e = new DataGridViewCellEventArgs(0,0); //dataGridView1_CellClick(this, e); //DataGridViewCellEventArgs e2 = new DataGridViewCellEventArgs(0, 0); //dataGridView2_CellClick(this, e2); mCssText = string.Format("opacity: 0.8;font-size: {0}pt ; border: 0px solid #000000 ; margin-top: 0px ; background: white ; padding: 0px;textAlign: center ; ", 0); offsetX = -10 - 16; offsetY = -10 - 16; while (true) { if (mGoogleMaps.mapShown) { mGoogleMaps.mapShown = false; getdata(); DataGridViewCellEventArgs ee = new DataGridViewCellEventArgs(0, 0); dataGridView1_CellClick(this, ee); DataGridViewCellEventArgs ee2 = new DataGridViewCellEventArgs(0, 0); dataGridView2_CellClick(this, ee2); break; } Application.DoEvents(); System.Threading.Thread.Sleep(50); } }
void geckoWebBrowser1_CreateWindow(object sender, Gecko.GeckoCreateWindowEventArgs e) { Gecko.GeckoWebBrowser gwb = (Gecko.GeckoWebBrowser)sender; gwb.Navigate(e.Uri); //跳转新url e.Cancel = true; //禁止弹窗 }