正如前文所述(http://t.csdnimg.cn/inWMS),转频域这个功能用脚本实现,多多少少还是有一些不方便,所以被希望加进老的一个带UI的软件里,而且要把程序再优化优化,也就有了本文。那份软件前端是C#写的标记语言,笔者不会
目录
1、解析软件代码
好在软件的源代码还在,但是笔者没用过Visio Studio,IDE之间还是差异挺大的,解压完软件一时不知道从何下手;
基于对风格的了解,这软件肯定不是手key出来的,是用图形化编程做的。当程序发现用c#编译不了时候等ide提示可能需要.net包,原来是winform。
然后就是下.net的开发组件,既然是winform图形化出来的,那程序包里肯定有一个xaml作为编辑页还配套一个xaml.cs作为程序接口,只要双击打开就可以进入图形化编程的界面了。好在这是一个单页面无跳转的。
既然是添加功能,那首先就是决定增加一块区域用于放置自己的控件,在xaml最上边会有一个windows的标记块,在里面有一句:
Title="xxx" Height="600" Width="1000"
通常都是增加宽度,好看一些,也尽量避免增加滚动条。
在这为了避免老程序出故障(没人维护的程序尽量不要动,尤其是带UI的,很难判断是否存在基于像素点的逻辑)所以在移动老控件之后一定要把老的画布(grid,这个控件是透明的)也挪走,新的控件单独摆放。
新的控件都在工具箱里面拖拽,尽量不要点击,会不知道给你生成到哪里去了,影响后面操作。
在图形化编程界面出现后,工具箱就会弹出在两边 。
2、配置图形控件
在留出足够的地方之后就可以配置自己的控件了:
1、button
按钮是非常常用的,只需要拖拽到画布上就可以使用,然后就是修改按钮的属性和代码了。
按钮的位置都会修改,然后就是按钮的名字,这里的名字只是显示在UI上的名字,不是在程序里的名字;修改项在公共-》Content这里 ;
绝大多数时候,按钮都是被希望一旦按下立刻出现某些响应,所以很少与其他控件联动,这一点于输入框之类的有所不同,所以这个按钮,我并未给它起一个程序中的名字,只需要确定他对 click 这个动作有所响应即可,如下:
点击名称框最右边的小闪电标识即可进入这个界面,这里给这个按钮在 click 这个动作下所呈现的响应依赖的函数起个名字。
然后回到图形编辑界面,只要双击这个按钮,就会在这个图形的响应xaml.cs文件中,建好一个空函数,之后把需要响应的功能写入这个函数就可以了
private void clean_Buffer(object sender, RoutedEventArgs e)
{
string currentPath = Directory.GetCurrentDirectory();
Console.WriteLine("当前路径为:" + currentPath);
string filePath = currentPath + "/TIME_domain.lst";
try
{
File.WriteAllText(filePath, String.Empty);
Console.WriteLine("成功清空文件内容!");
}
catch (Exception ex)
{
Console.WriteLine($"发生错误:{ex.Message}");
}
}
这是一个清空某个文件的函数,从上一篇文章来看,我们的python程序所需的程