C#小程序—带历史的菜单
前几天写了个带历史菜单功能的程序,写的不是很好,太过于复杂。昨天我发现一种新方法,于是从写一遍。动态添加菜单的代码如下:
[csharp]
//Menu.ini 是配置文件,来存储历史。
if (File.Exists("Menu.ini"))
{
StreamReader sr = new StreamReader("Menu.ini");
int i = this.文件ToolStripMenuItem.DropDownItems.Count - 2;
while (sr.Peek() > 0)
{
ToolStripMenuItem tlomenu = new ToolStripMenuItem(sr.ReadLine());
this.文件ToolStripMenuItem.DropDownItems.Insert(i, tlomenu);
i++;
}
sr.Close();
}
我还把程序的流程用Visio简单的画了一下。
下面是帮助窗口的代码:
[csharp]
/调用API函数
[DllImport("user32")]
private static extern long FlashWindow(IntPtr handle, bool bInvert);
private void btnClose_Click(object sender, EventArgs e)
{
this.Close();
}
private void timer1_Tick(object sender, EventArgs e)
{
FlashWindow(this.Handle, true);
}
选择字体窗口代码:
[csharp]
public FrmFont(Frm frm)
{
InitializeComponent();
mianFrm = frm;
}
Frm mianFrm = new Frm();
//定义中间变量.
public Font newFont;
public bool getBlod;
public bool getItalic;
//向程序中添加字体和大小.
private void FrmFont_Load(object sender, EventArgs e)
{
InstalledFontCollection iof = new InstalledFontCollection();
foreach (FontFamily font in iof.Families)
{
cboFont.Items.Add(font.Name);
}
for (int i = 1; i < 100; i++)
cboSize.Items.Add(i);
}
public void UpdateFrmMain()
{
if (cboFont.SelectedIndex > 0)
{
try
{
newFont = new Font(cboFont.SelectedItem.ToString(), newFont.Size);
}
catch
{ }
}
if (cboSize.SelectedIndex > 0)
{
newFont = new Font(newFont.FontFamily, float.Parse(cboSize.SelectedItem.ToString()));
}
mianFrm.rtbNotePad.Font = newFont;
}
//字体选择变化
private void cboFont_SelectedIndexChanged(object sender, EventArgs e)
{
UpdateFrmMain();
}
//字体大小下拉栏变化
private void cboSize_SelectedIndexChanged(object sender, EventArgs e)
{
UpdateFrmMain();
}
程序运行的图片如下:
主窗体代码如下:
[csharp]
//定义变量
StreamWriter str=null;
string strTemp;
string path = System.IO.Directory.GetCurrentDirectory();
private void 帮助ToolStripMenuItem_Click(object sender, EventArgs e)
{
//调用帮助窗体
FrmHelp help = new FrmHelp();
&
补充:软件开发 , C# ,