- 1、Debug和Release导出目录和配置设置:
Visual Studio中的项目属性-->生成-->配置
说明:通讯软件的基本配置config.ini文件是编辑好的默认文件放在 Debug和Release 文件夹,然后 “重新生成解决方案” ,这个Release文件夹就可以直接发给客户使用了。
-
2、WinForm之项目内图片资源的添加及使用
(1) 、双击项目下的Resources.resx,出现视图;也可以右击项目选择属性,在属性面板选择资源
(2)、单击"添加资源",选择"添加现有文件",找到你要添加的图片,确定之后保存就可以了
(3)、代码使用和属性使用
引入Properties类:using nameSpace.Properties;
this.Icon = running ? Resources.main_open : Resources.main_close;
- 3、设置 “窗体左上角”和"任务栏" 的文字和图标.
this.Text = "设置 “窗体左上角”和"任务栏" 的文字";
this.Icon = running ? Resources.main_open : Resources.main_close;
设置桌面左下角系统托盘里面正在运行软件的的文字和图标
notifyIcon.Icon = running ? Resources.main_close:Resources.main_open;
notifyIcon.Text = "鼠标移上去时,显示的提示信息"; - 4、系统托盘右键菜单 和 “NotifyICon的QQ消息提醒冒泡消息效果” 的开发
NotifyICon的多个冒泡消息效果
系统托盘右键菜单显示、隐藏、退出、闪烁消息小demo的开发
NotifyIcon控件的多种场景使用 -
5、设置软件的图标和名称
项目名—>右键—>属性,在选项卡中选择"应用程序"
找到"资源"—>"图标和清单"—>点击下拉列表框,从中选择 资源图标(_36) ,应用即可
- 6、软件信息设置
在程序的AssemblyInfo.cs文件里面。这里需要说明:
[assembly: AssemblyVersion("2.0.0.0")]//生成号既版本号,对外展示的
[assembly: AssemblyFileVersion("2.0.0.1")]//修订号既自己小修补的版本
使用如下:
public AboutBox()
{
InitializeComponent();
this.Text = String.Format("关于 {0}", AssemblyTitle);
this.labelProductName.Text = AssemblyProduct;
this.labelVersion.Text = String.Format("版本 {0}", AssemblyVersion);
this.labelCopyright.Text = AssemblyCopyright;
this.labelCompanyName.Text = AssemblyCompany;
this.textBoxDescription.Text = AssemblyDescription;
}
#region 程序集特性访问器
public string AssemblyTitle
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
if (attributes.Length > 0)
{
AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];
if (titleAttribute.Title != "")
{
return titleAttribute.Title;
}
}
return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
}
}
public string AssemblyVersion
{
get
{
return Assembly.GetExecutingAssembly().GetName().Version.ToString();
}
}
public string AssemblyDescription
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyDescriptionAttribute)attributes[0]).Description;
}
}
public string AssemblyProduct
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyProductAttribute)attributes[0]).Product;
}
}
public string AssemblyCopyright
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
}
}
public string AssemblyCompany
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyCompanyAttribute)attributes[0]).Company;
}
}
#endregion