C# AE之返回上一級和下一級的實戰操作
我就廢話不多說瞭,大傢還是直接看代碼吧~
try { //判斷是否可以返回上一視圖 if (mapControl.ActiveView.ExtentStack.CanUndo()) { //執行操作 mapControl.ActiveView.ExtentStack.Undo(); //刷新 mapControl.Refresh(); } } catch (Exception ex) { throw; }
try { if (mapControl.ActiveView.ExtentStack.CanRedo()) { mapControl.ActiveView.ExtentStack.Redo(); mapControl.Refresh(); } } catch (Exception ex) { throw; }
補充:C#——單擊按鈕實現返回上一級窗口方法
一、實現父窗體的隱藏及顯現
假設Form1是父窗體,Form2是新的窗體
Form1的按鈕button1代碼:
private void button1_Click(object sender, EventArgs e) { Form2 form2 = new Form2(this);//把form1傳給form2 this.Hide();//把自己隱藏瞭 //form2.ShowDialog();//2種顯示方法都可以 form2.Show(); }
Form2的代碼:
public partial class Form2 : Form { Form1 _form1; public Form2(Form1 form1) { InitializeComponent(); _form1 = form1; } private void button1_Click(object sender, EventArgs e) { //把自己關閉,並顯示Form1 this.Close(); _form1.Show(); } }
二、多線程關閉窗體
Form1 為歡迎界面,close為關閉按鈕,Form 2為主界面
public partial class Form1 : Form { public Form1() { InitializeComponent(); th = new Thread(new ThreadStart(StartNewForm)); } private Thread th; private void StartNewForm() { From1 mf = new From2(); Application.Run(mf);//啟動主界面 } private void close_Click(object sender, EventArgs e) { this.Close();//關閉窗體 th.Start();//啟動另一個線程 } }
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- C# 彈出窗口show()和showdialog()的兩種方式
- C#實現QQ聊天窗口
- c# 使用線程對串口serialPort進行收發數據(四種)
- 一文帶你快速學會C#中WinForm框架的使用詳解
- 基於C#實現宿舍管理系統