184 lines
5.4 KiB
C#
184 lines
5.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
using System.IO;
|
|
using System.Threading;
|
|
using System.Runtime.InteropServices;
|
|
using System.Diagnostics;
|
|
|
|
namespace mainProgram
|
|
{
|
|
public partial class main : Form
|
|
{
|
|
public main()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private ProjectManager mProjectManager = null;//保存打开的/新建的工程对象
|
|
|
|
public void RecieveProjectManager(ProjectManager value)
|
|
{
|
|
mProjectManager = value;
|
|
|
|
Console.WriteLine("工程文件目录为:" + mProjectManager.ProjectPath + "---------------------");
|
|
}
|
|
|
|
private void newToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
NewProjectWindow w = new NewProjectWindow();
|
|
w.TransferEvent += RecieveProjectManager;
|
|
|
|
//w.Show();//不阻塞
|
|
w.ShowDialog();//阻塞
|
|
}
|
|
|
|
private void OpenProjectToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
OpenProjectWindow w = new OpenProjectWindow();
|
|
w.TransferEvent += RecieveProjectManager;
|
|
|
|
//w.Show();//不阻塞
|
|
w.ShowDialog();//阻塞
|
|
}
|
|
|
|
private void RadToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
if (mProjectManager is null)
|
|
{
|
|
MessageBox.Show(this, "请先打开工程!", "提示");
|
|
return;
|
|
}
|
|
|
|
RadCorrectionWindow w = new RadCorrectionWindow(mProjectManager);
|
|
//w.TransferEvent += RecieveProjectManager;
|
|
|
|
var addr2 = getMemory(mProjectManager);
|
|
Console.WriteLine("父窗口变量的地址 = " + addr2);
|
|
|
|
//w.Show();//不阻塞
|
|
w.ShowDialog();//阻塞
|
|
}
|
|
|
|
public string getMemory(object o) // 获取引用类型的内存地址方法
|
|
{
|
|
GCHandle h = GCHandle.Alloc(o, GCHandleType.WeakTrackResurrection);
|
|
IntPtr addr = GCHandle.ToIntPtr(h);
|
|
return "0x" + addr.ToString("X");
|
|
}
|
|
|
|
private void ExitToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void main_FormClosing(object sender, FormClosingEventArgs e)
|
|
{
|
|
if (MessageBox.Show("确实退出吗", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
|
|
{
|
|
e.Cancel = false;
|
|
}
|
|
else
|
|
{
|
|
e.Cancel = true;
|
|
}
|
|
}
|
|
|
|
private void SvdToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
if (mProjectManager is null)
|
|
{
|
|
MessageBox.Show(this, "请先打开工程!", "提示");
|
|
return;
|
|
}
|
|
|
|
SVDWindows w = new SVDWindows(mProjectManager, "svd");
|
|
//w.TransferEvent += RecieveProjectManager;
|
|
|
|
//w.Show();//不阻塞
|
|
w.ShowDialog();//阻塞
|
|
}
|
|
|
|
private void DoasToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
if (mProjectManager is null)
|
|
{
|
|
MessageBox.Show(this, "请先打开工程!", "提示");
|
|
return;
|
|
}
|
|
|
|
SVDWindows w = new SVDWindows(mProjectManager, "doas");
|
|
//w.TransferEvent += RecieveProjectManager;
|
|
|
|
//w.Show();//不阻塞
|
|
w.ShowDialog();//阻塞
|
|
}
|
|
|
|
private void SfmToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
if (mProjectManager is null)
|
|
{
|
|
MessageBox.Show(this, "请先打开工程!", "提示");
|
|
return;
|
|
}
|
|
|
|
SVDWindows w = new SVDWindows(mProjectManager, "sfm");
|
|
//w.TransferEvent += RecieveProjectManager;
|
|
|
|
//w.Show();//不阻塞
|
|
w.ShowDialog();//阻塞
|
|
}
|
|
|
|
private void SfmGaussinToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
if (mProjectManager is null)
|
|
{
|
|
MessageBox.Show(this, "请先打开工程!", "提示");
|
|
return;
|
|
}
|
|
|
|
SVDWindows w = new SVDWindows(mProjectManager, "sfm_gaussian");
|
|
//w.TransferEvent += RecieveProjectManager;
|
|
|
|
//w.Show();//不阻塞
|
|
w.ShowDialog();//阻塞
|
|
}
|
|
|
|
private void SfldToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
if (mProjectManager is null)
|
|
{
|
|
MessageBox.Show(this, "请先打开工程!", "提示");
|
|
return;
|
|
}
|
|
|
|
SVDWindows w = new SVDWindows(mProjectManager, "sfld");
|
|
//w.TransferEvent += RecieveProjectManager;
|
|
|
|
//w.Show();//不阻塞
|
|
w.ShowDialog();//阻塞
|
|
}
|
|
|
|
private void Fld3ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
if (mProjectManager is null)
|
|
{
|
|
MessageBox.Show(this, "请先打开工程!", "提示");
|
|
return;
|
|
}
|
|
|
|
SVDWindows w = new SVDWindows(mProjectManager, "3fld");
|
|
//w.TransferEvent += RecieveProjectManager;
|
|
|
|
//w.Show();//不阻塞
|
|
w.ShowDialog();//阻塞
|
|
}
|
|
}
|
|
}
|