基于winform的管理系统实用吗

基于winform的管理系统实用吗,第1张

基于winform的管理系统实用。根据查询相关资料显示:基于winform的管理系统实用,是一套完善的桌面程序设计管理系统,系统具有完整的代码数据库,系统主要采用C/S模式开发,故基于winform的管理系统实用。

timer的enable初始状态为false

private void button1_Click(object sender, EventArgs e)

{

timer1.Enabled = true

i = textBox1.Text.Trim().Length

}

string str = ""

int i=0

private void timer1_Tick(object sender, EventArgs e)

{

if (str.Length <i)

{

str = textBox1.Text.Trim().Substring(textBox1.Text.Trim().Length - 1) + str

}

textBox1.Text = textBox1.Text.Trim().Substring(0, textBox1.Text.Trim().Length - 1)

if (textBox1.Text.Length <= 0)

{

textBox1.Text = str

}

}

private void button2_Click(object sender, EventArgs e)

{

timer1.Enabled = false

str = ""

}

//需要引用Microsoft.Win32命名空间 写的有点麻烦

private void Form1_Load(object sender, EventArgs e)

{

listview1.Checkbox=true//就是listview每行前面有个复选框, 这个属性名我忘了具体怎么写的了

listview1.View=View.Detials

//HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 此键的子健为本机所有注册过的软件的卸载程序,通过此思路进行遍历安装的软件

RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall")

string[] key1 = key.GetSubKeyNames()//返回此键所有的子键名称

List<string>key2 = key1.ToList<string>()//因为有的项木有"DisplayName"或"DisplayName"的键值的时候要把键值所在数组中的的元素进行删除

RegistryKey subkey = null

try

{

for (int i = 0i <key2.Counti++)

{

subkey = key.OpenSubKey(key2[i])//通过list泛型数组进行遍历,某款软件项下的子键

if (subkey.GetValue("DisplayName") != null)

{

if (subkey.GetValue("DisplayIcon") != null)

{

string path = subkey.GetValue("DisplayIcon").ToString()

string SubPath = path.Substring(path.Length - 1, 1)//截取子键值的最后一位进行判断

if (SubPath == "o" || path.IndexOf("exe") == -1)//如果为o 就是ico 或 找不到exe的 表示为图标文件或只有个标识而没有地址的

{

key2.RemoveAt(i)//首先删除数组中此索引的元素

i -= 1//把循环条件i的值进行从新复制,否则下面给listview的项的tag属性进行赋值的时候会报错

continue

}

listView1.Items.Add(subkey.GetValue("DisplayName").ToString())//把软件名称添加到listview控件中

if (SubPath == "e")//如果为e 就代表着是exe可执行文件,

{

listView1.Items[i].Tag = path//则表示可以直接把地址赋给tag属性

continue

}

if (SubPath == "0" || SubPath == "1")//因为根据观察 取的是DisplayIcon的值 表示为图片所在路径 如果为0或1,则是为可执行文件的图标

{

path = path.Substring(0, path.LastIndexOf("e") + 1)//进行字符串截取,

listView1.Items[i].Tag = path//则表示可以直接把地址赋给tag属性

continue

}

}

else

{

key2.RemoveAt(i)//首先删除数组中此索引的元素

i -= 1//把循环条件i的值进行从新复制,否则下面给listview的项的tag属性进行复制的时候会报错

continue

}

}

else

{

key2.RemoveAt(i)//首先删除数组中此索引的元素

i = i - 1//把循环条件i的值进行从新复制,否则下面给listview的项的tag属性进行复制的时候会报错

}

}

}

catch (Exception ex )

{

MessageBox.Show(ex.Message)

}

}

private void btn_start_Click(object sender, EventArgs e)

{

for (int i = 0i <listView1.Items.Counti++)

{

if (listView1.Items[i].Checked)

{

System.Diagnostics.Process.Start(listView1.Items[i].Tag.ToString())//启动所选中的软件

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8102852.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存