WinForm中的统一皮肤样式是怎么实现的? 百度一下Winform皮肤控件,可以搜到很多免费或收费的皮肤控件,使用起来方便简单,只需要设置一个皮肤文件的路径即可!但是这个控件怎么实现对项目中每一个用户创建的Form进行样式渲染?难道控件可以监控我什么时间创建Form? 这也太神奇了吧? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我经常就是常用控件自己重载下自己定义一个INI皮肤文件,然后去读这个文件,读这个文件的方法是: public class ReadIniFile { // Methods public ReadIniFile() { this.path = Application.StartupPath; this.path = this.path + @"\SKIN.ini"; } [DllImport("kernel32")] private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath); internal Color IniReadColor(string Section, string Key) { Color color1 = Color.Lavender; if (File.Exists(this.path)) { try { string text1 = ","; StringBuilder builder1 = new StringBuilder(0xff); ReadIniFile.GetPrivateProfileString(Section, Key, "", builder1, 0xff, this.path); string text2 = builder1.ToString().Trim(); int num1 = text2.Length; int num2 = text2.IndexOf(text1); int num3 = Convert.ToInt32(text2.Substring(0, num2)); string text3 = text2.Substring(num2 + 1, (num1 - num2) - 1).Trim(); num1 = text3.Length; int num4 = text3.IndexOf(text1); int num5 = Convert.ToInt32(text3.Substring(0, num4)); int num6 = Convert.ToInt32(text3.Substring(num4 + 1, (num1 - num4) - 1)); color1 = Color.FromArgb(num3, num5, num6); } catch { return color1; } } return color1; } internal bool IniReadRect(string Section, string Key, out int[] Num) { string text1 = ","; int[] numArray1 = new int[6]; StringBuilder builder1 = new StringBuilder(0xff); ReadIniFile.GetPrivateProfileString(Section, Key, "", builder1, 0xff, this.path); int num1 = builder1.ToString().Length; int num2 = builder1.ToString().IndexOf(text1); int num3 = Convert.ToInt32(builder1.ToString().Substring(0, num2)); string text2 = builder1.ToString().Substring(num2 + 1, (num1 - num2) - 1); num1 = text2.Length; int num4 = text2.IndexOf(text1); int num5 = Convert.ToInt32(text2.Substring(0, num4)); string text3 = text2.ToString().Substring(num4 + 1, (num1 - num4) - 1); num1 = text3.Length; int num6 = text3.IndexOf(text1); int num7 = Convert.ToInt32(text3.Substring(0, num6)); int num8 = Convert.ToInt32(text3.Substring(num6 + 1, (num1 - num6) - 1)); numArray1[0] = num3; numArray1[1] = num5; numArray1[2] = num7; numArray1[3] = num8; Num = numArray1; return true; } internal string IniReadValue(string Section, string Key) { StringBuilder builder1 = new StringBuilder(0xff); ReadIniFile.GetPrivateProfileString(Section, Key, "", builder1, 0xff, this.path); return builder1.ToString(); } // Fields private string path; } 加密狗的制作和使用 下面这段导出为excel的思路谁能解释一下吗 托盘图标消失 如何在主窗口中操作子窗口的控件 在配置文件里怎么写连接字符串呀 想在winform 窗体里用一个sql 语句,这个sql 语句里却有" (双引号)这样就没有办法给值 错误提示Application.Exit();的using是什么? 新手弱弱一问:选什么来做报表呢? 急啊~用asp.net winfrom 实现类似抽奖(C#) 关于c#的两个问题,求大神来解,百度没找到有效的解决方案,试了试都不行。 类成员问题 删除DataGridView行
然后去读这个文件,读这个文件的方法是: public class ReadIniFile
{
// Methods
public ReadIniFile()
{
this.path = Application.StartupPath;
this.path = this.path + @"\SKIN.ini";
}
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath); internal Color IniReadColor(string Section, string Key)
{
Color color1 = Color.Lavender;
if (File.Exists(this.path))
{
try
{
string text1 = ",";
StringBuilder builder1 = new StringBuilder(0xff);
ReadIniFile.GetPrivateProfileString(Section, Key, "", builder1, 0xff, this.path);
string text2 = builder1.ToString().Trim();
int num1 = text2.Length;
int num2 = text2.IndexOf(text1);
int num3 = Convert.ToInt32(text2.Substring(0, num2));
string text3 = text2.Substring(num2 + 1, (num1 - num2) - 1).Trim();
num1 = text3.Length;
int num4 = text3.IndexOf(text1);
int num5 = Convert.ToInt32(text3.Substring(0, num4));
int num6 = Convert.ToInt32(text3.Substring(num4 + 1, (num1 - num4) - 1));
color1 = Color.FromArgb(num3, num5, num6);
}
catch
{
return color1;
}
}
return color1;
}
internal bool IniReadRect(string Section, string Key, out int[] Num)
{
string text1 = ",";
int[] numArray1 = new int[6];
StringBuilder builder1 = new StringBuilder(0xff);
ReadIniFile.GetPrivateProfileString(Section, Key, "", builder1, 0xff, this.path);
int num1 = builder1.ToString().Length;
int num2 = builder1.ToString().IndexOf(text1);
int num3 = Convert.ToInt32(builder1.ToString().Substring(0, num2));
string text2 = builder1.ToString().Substring(num2 + 1, (num1 - num2) - 1);
num1 = text2.Length;
int num4 = text2.IndexOf(text1);
int num5 = Convert.ToInt32(text2.Substring(0, num4));
string text3 = text2.ToString().Substring(num4 + 1, (num1 - num4) - 1);
num1 = text3.Length;
int num6 = text3.IndexOf(text1);
int num7 = Convert.ToInt32(text3.Substring(0, num6));
int num8 = Convert.ToInt32(text3.Substring(num6 + 1, (num1 - num6) - 1));
numArray1[0] = num3;
numArray1[1] = num5;
numArray1[2] = num7;
numArray1[3] = num8;
Num = numArray1;
return true;
}
internal string IniReadValue(string Section, string Key)
{
StringBuilder builder1 = new StringBuilder(0xff);
ReadIniFile.GetPrivateProfileString(Section, Key, "", builder1, 0xff, this.path);
return builder1.ToString();
}
// Fields
private string path;
}