手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

C#EXE相互引用实现

时间:2024-10-15 08:30:17

1、新建一个WPF工程。点击【新建项目】弹出新建项目窗口,在C#模板下选择【WPF应用程序】,输入项目名称:WPF_EXE引用,点击【确定】

C#EXE相互引用实现

2、在MainWindow.xaml页面中添加菜单,控制界面打开和程序退出,代码如下:争犸禀淫<Window x:Class="WPF_EXE引用.MainWindow&鳎溻趄酃quot; xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525" Closing="Window_Closing" > <Grid> <Menu x:Name="mainMenu" HorizontalAlignment="Left" VerticalAlignment="Top" Height="23"> <MenuItem Header="文件(_F)" > <MenuItem Header="帮助" /> <Separator/> <MenuItem Header="退出" Click="MenuItem_Click_退出" /> </MenuItem> <MenuItem Header="设置(_S)" > <MenuItem Header="MTF设置" /> </MenuItem> <MenuItem Header="自动AA开启及调试" Click="MenuItem_Click" /> </Menu> </Grid></Window>

C#EXE相互引用实现

3、在MainWindow.xaml.cs页面中添加如下代码:using System挢旗扦渌;using System.Colle艘早祓胂ctions.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Navigation;using System.Windows.Shapes;namespace WPF_EXE引用{ /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { 雷赛卡界面.Hide(); 雷赛卡界面.Close(); } public dynamic 雷赛卡界面 = null; public double[] mtfs; private void MenuItem_Click(object sender, RoutedEventArgs e) { 雷赛卡界面.Show(); this.Topmost = false; 雷赛卡界面.TopMost = true; } private void MenuItem_Click_退出(object sender, RoutedEventArgs e) { this.Close(); } }}

C#EXE相互引用实现

4、添加一个名为MTF5的新类。可点击VS菜单项中的【项目】在其下拉菜单中找到【添加类】并点击,弹出添加新项窗口,在点击C#项中【类】,输入名称MTF5,点击【添加】按钮

C#EXE相互引用实现

5、在MTF5.cs页面中添加复制粘贴如下代码:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using WPF_EXE引用;public class MTF5{ public static void 启动(dynamic Form, ref double[] mtfs) { MainWindow a = new MainWindow(); a.mtfs = mtfs; a.雷赛卡界面 = Form; Form.Hide(); a.Show(); }}

C#EXE相互引用实现

6、在当前解决方案中添加一个WinForm工程。选中【解决方案...】上点击右键,弹出右键菜单,选中【添加】,出现子菜单,选中【新建项目】点击,弹出添加新项目窗口。选择【Windows窗口应用程序】,在项目名称中输入想要的名称,这里为:雷赛卡界面程序,然后点击【确定】

C#EXE相互引用实现

7、在雷赛卡界面程序中添加引用WPF_EXE引用。选中WinForm程序下的【引用】,弹出右键菜单,点击其中的【添加引用】。弹出引用管理器,在【解决方案】中,勾选中WPF工程,然后点击【确定】,完成引用。

C#EXE相互引用实现

8、在Form1中添加如下代码:using System;using System.Collections.Generic;usin爿讥旌护g System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace 雷赛卡界面程序{ public partial class Form1 : Form { public double[] mtfs = new double[5]; public Form1() { InitializeComponent(); this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing); MTF5.启动(this, ref mtfs); } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { if (this.Visible) { e.Cancel = true; this.Hide(); } else { e.Cancel = false; //this.Show(); //System.Threading.Thread.Sleep(2000); } } }}

C#EXE相互引用实现

9、将WinForm程序(雷赛卡界面程序)设为启动项目。选中【雷赛卡界面程序】项目,弹出右键菜单,点击【设为启动项目】。

C#EXE相互引用实现

10、分别编译WinForm程序和WPF程序。按F5执行,可以查看两窗口切换情况了。

C#EXE相互引用实现
© 手抄报圈