-
C# wpf方法的最大化和最小化窗口
Viaual C# 使用wpf方法实现最大化和最小化窗口,和默认的方式似乎有些不同.有兴趣的可参考以下代码:
private void button1_Click(object sender, RoutedEventArgs e)
{//最大化显示窗口
this.WindowState = System.Windows.WindowState.Maximized;
}
private void button2_Click(object sender, RoutedEventArgs e)
{//最小化显示窗口
this.WindowState = System.Windows.WindowState.Minimized;
}
private void button3_Click(object sender, RoutedEventArgs e)
{//还原窗口
this.WindowState = System.Windows.WindowState.Normal;
}
private void button4_Click(object sender, RoutedEventArgs e)
{//关闭窗口
this.Close();
}
- 2022-01-25 15:01:45下载
- 积分:1
-
C# WPF 制作3D动画旋转的地球 超赞 附源码
C# WPF 制作3D动画旋转的地球 超赞 附源码,在源代码中使用了3DTools.dll,不过这仍然是一个非常棒的三维动画实例,使用WPF技术,将一幅静态的BMP地球图像,制作成动态的圆形的地球旋转动画,超逼真的地球动画,请参见测试截图。本源码可为广大C#爱好者学习WPF技术提供一个得力的参考。
- 2022-03-22 09:21:02下载
- 积分:1
-
C# WPF模拟复制、剪切、全选、粘贴文字
C# WPF模拟在窗口中复制、剪切、全癣粘贴文字,测试时,请先在其它窗口中复制一段文字,然后打开本窗口,在本窗口中点击“粘贴”,文字即可显示在文本框中,上面依次是复制、剪切、全选和粘贴等功能,对应操作即可。
- 2022-03-21 04:15:48下载
- 积分:1
-
C#开发的SQL数据库存储过程生成器附源码
C#开发的SQL数据库存储过程生成器附源码,是由VS开发的一款代码生成器,名字叫做“SocanCode”,程序作者:廖勇军。主要是生成数据库的存储过程,打开窗口后,在左侧的窗格可新建存储过程,按照程序的导航一步步建立存储过程,最后生成存储过程代码。
SocanCode存储代码生成器,目前已经全部开源,除了生成存储过程代码外,这个程序还有一些其它的小工具,比如HTML转JavaScript、正则表达式生成等。
- 2023-06-01 08:10:03下载
- 积分:1
-
C# 使用聚合函数查找数据库重复记录
C#利用聚合函数显示数据库中重复记录的数量,这个例子可找出数据库中的重复内容,对优化数据库很有帮助。实现本功能可参考以下代码:
dgv_Message.DataSource = GetMessage();//设置数据源
dgv_Message.Columns[0].Width = this.Width;//设置列宽度
dgv_Message.DataSource = GetStudent();//设置数据源
dgv_Message.Columns[0].Width = 200;//设置列宽度
string P_Str_SqlStr = string.Format(//创建SQL查询字符串
@"SELECT 所在学院 ,COUNT(所在学院) AS 学生数量 FROM tb_Student GROUP BY 所在学院");
SqlDataAdapter P_SqlDataAdapter = new SqlDataAdapter(//创建数据适配器
P_Str_SqlStr, P_Str_ConnectionStr);
DataTable P_dt = new DataTable();//创建数据表
P_SqlDataAdapter.Fill(P_dt);//填充数据表
return P_dt;//返回数据表,更多代码请下载本实例 。
- 2022-06-30 05:46:27下载
- 积分:1
-
C# SqlSever WinForm企业人事管理系统完整源代码
C# SqlSever WinForm企业人事管理系统完整源代码,使用到的第三方控件:IrisSkin2.dll、Interop.SQLDMO.dll、SQL_Link.DLL等。注意:数据库文件直接附加,登陆用户名[区分大小写]:Administrator密码:888
登陆前点击,设置数据库参数
当然这个系统并没有完全完成,预期的工资和考勤功能没有完成,人事管理基本完成,其中的小功能如:打印和报表,还有分析图,不是很难做,你可以自己添加。
实现的功能模块有:人事管理、公司资料、部门设置、人事资料、培训管理、奖惩管理、调薪管理、考评管理、合同管理、信息统计、自定义人事项目、人事资料、培训管理、奖惩管理、调薪管理、考评管理、合同管理、工资管理、考勤管理、系统维护、更改密码、用户管理、数据备份、备份到本地、备份到服务器、数据恢复、从本地恢复、从服务器恢复、数据初始化。
- 2023-01-18 10:30:05下载
- 积分:1
-
C# 创建有参、无参数等多线程操作实例
C# 多线程操作实例,获取指定进程的进程详细信息、获取指定进程的模块详细信息、创建无参数的多线程应用程序、创建带参数的多线程应用程序、创建共享线程模拟资源共享、创建子线程更新主线程数据等,部分代码分享如下:
if (MyThread.ThreadState == ThreadState.Terminated)
MyData += "
当前状态:已完成执行并已退出";
if (MyThread.ThreadState == ThreadState.Transition)
MyData += "
当前状态:在可以执行前等待处理器之外的资源";
if (MyThread.ThreadState == ThreadState.Unknown)
MyData += "
当前状态:状态未知";
if (MyThread.ThreadState == ThreadState.Wait)
MyData += "
当前状态:正在等待外围操作完成或等待资源释放";
if (MyThread.WaitReason == ThreadWaitReason.EventPairHigh)
MyData += "
等待原因:线程正在等待事件对高";
if (MyThread.WaitReason == ThreadWaitReason.EventPairLow)
MyData += "
等待原因:线程正在等待事件对低";
if (MyThread.WaitReason == ThreadWaitReason.ExecutionDelay)
MyData += "
等待原因:线程执行延迟";
if (MyThread.WaitReason == ThreadWaitReason.Executive)
MyData += "
等待原因:线程正在等待计划程序";
if (MyThread.WaitReason == ThreadWaitReason.FreePage)
MyData += "
等待原因:线程正在等待可用的虚拟内存页";
if (MyThread.WaitReason == ThreadWaitReason.LpcReceive)
- 2022-04-18 07:37:09下载
- 积分:1
-
C# 将DataGridView中内容导出到Excel
Visual C# 将DataGridView中内容导出到Excel,在实现部分,数据库的操作就不多说了,这个和平时是一样的,建立连接,读取数据库,然后将数据绑定显示到DataGridView中,然后再新建一导出模块,将数据导出到Excel表格中,我们建立了ExportDataGridview函数,在此函数中,建立Excel对象,生成字段名称,填充数据,填充时使用For循环,依次遍历填充。
- 2022-06-17 12:57:31下载
- 积分:1
-
C# 通过Linq实现元素操作符
C# 通过Linq实现各种元素操作符,比如实现了以下操作符:
var first = pdt.First(p => p.p_price > 500);//返回单价大于500的第一个元素
Console.WriteLine("First操作符(" + first + ")");
var last = pdt.Last(p => p.p_price < 500);//返回单价小于500的最后一个元素
Console.WriteLine("Last操作符(" + last + ")");
var single = pdt.Single(p => p.p_id == 1);//返回产品id为1的元素
Console.WriteLine("Single操作符(" + single + ")");
var elementat = pdt.ElementAt(3);//返回第4个元素
Console.WriteLine("ElementAt操作符(" + elementat + ")");
Console.Read();
- 2022-05-15 10:44:11下载
- 积分:1
-
C# timer应用范例:左右飘动的窗体
C# 创建一个飘动的窗体,左右飘动,主要是对Timer的控制,基本的原理是:窗体的左上角横坐标随着timer1不断加一,窗体的左上角横坐标随着timer2不断减一,这个过程由Timer控制,因此你要写出一个循环,来控制Timer不停变化,比如timer不断加一:
Point p = new Point(this.DesktopLocation.X + 1, this.DesktopLocation.Y);
this.DesktopLocation = p;
if (p.X == 630)
{
timer1.Enabled = false;
timer2.Enabled = true;
}
以上代码的执行我们放入到private void timer1_Tick私有函数中,运行程序后即运行该函数。
- 2023-03-26 23:00:04下载
- 积分:1