-
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# 只允许运行一个程序实例的方法及代码
Visual C# 设置程序只能运行一个实例,当用户再次打开同一窗口时,会弹出提示,告诉你本程序已经在运行了,具体的实现代码参考如下:
设置程序只能运行一个实例:
var MyModuleName = System.Diagnostics.Process.GetCurrentProcess().MainModule.ModuleName;
var MyProcessName =System.IO.Path.GetFileNameWithoutExtension(MyModuleName);
System.Diagnostics.Process[] MyProcesses = System.Diagnostics.Process.GetProcessesByName(MyProcessName);
if (MyProcesses.Length > 1)
{
MessageBox.Show("程序已经运行!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
this.Close();
}
- 2023-03-23 03:40:03下载
- 积分:1
-
C# 进度条、状态栏和计时器的实例
C# 进度条、状态栏和计时器的实例,这个例子的部分功能需要连接数据库才可看到,窗体上可看到进度条、时间等控件的效果,相关代码可看下边的代码,可起一定参考:
myAdapter.Fill(myDs, "dtMyProd");
myConn.Close();
//为数据表生成主键
DataColumn[] myPK = new DataColumn[1];
myPK[0] = myDs.Tables["dtMyProd"].Columns["ProductId"];
myDs.Tables["dtMyProd"].PrimaryKey = myPK;
DataRow thisRow = myDs.Tables["dtMyProd"].Rows[1];
txtPId.Text = "" + thisRow["ProductId"];
txtPName.Text = (String)thisRow["ProductName"];
txtUnitPrice.Text = "$" + thisRow["UnitPrice"];
statusBar1.Text ="数据库加载完毕";
时间处理方面,请参见以下代码:
string TimeInString="";
int hour=DateTime.Now.Hour;
int min=DateTime.Now.Minute;
int sec=DateTime.Now.Second;
TimeInString=(hour < 10)?"0" + hour.ToString() :hour.ToString();
TimeInString+=":" + ((min
- 2022-04-17 01:40:32下载
- 积分:1
-
鬼影源码去验证码3389 版本 用户
鬼影源码去验证码3389 版本 用户 鬼影源码去验证码非常好用的
- 2023-02-13 00:05:04下载
- 积分:1
-
C# Textbox传值通过Lable显示在窗口上
C#将Textbox值通过Lable显示在窗口上,演示值的传递,源代码中定义了两个窗口,将值互相传递,最终显示在Lable标签中。当用户点击按钮时,执行以下的代码:
private void button1_Click(object sender, EventArgs e)
{
label2.Text = textBox1.Text;
}
- 2022-02-05 07:04:01下载
- 积分:1
-
C# 响应新增系统菜单项命令
C# 制作的响应式菜单,响应新增系统菜单项命令,在标题栏单击鼠标右键,会显示出菜单,单击“新增菜单”会响应该菜单的点击,新增了一项自定义的菜单项及命令,实现过程如下:
protected override void WndProc(ref Message SystemMessage)
{//响应新增系统菜单项命令
switch (SystemMessage.Msg)
{
case WM_SYSCOMMAND:
if (((int)SystemMessage.WParam) == WM_USER + 2)
MessageBox.Show("响应新增系统菜单项命令", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
else
base.WndProc(ref SystemMessage);
break;
default:
base.WndProc(ref SystemMessage);
break;
}
}
- 2022-07-16 20:46:37下载
- 积分: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# WPF把彩色图片转换为灰度图
C# 把彩色图片转换为灰度图,这是一个基于WPF的C#图像处理程序,图像彩色转换黑白,支持的图像文件格式为:JPeg,Gif,Bmp,etc。
程序主要实现两个功能,一是将彩色转换为索引像素格式、二是将彩色转换为黑白像素格式,对应于窗口中的按钮,可查看对应功能的演示:
将彩色转换为黑白像素格式,核心代码如下:
TransformedBitmap MyRotatedBitmapSource = new TransformedBitmap();
MyRotatedBitmapSource.BeginInit();
MyRotatedBitmapSource.Source = (System.Windows.Media.Imaging.BitmapSource)this.image1.Source;
MyRotatedBitmapSource.Transform = new RotateTransform(270);
MyRotatedBitmapSource.EndInit();
FormatConvertedBitmap MyFormatedBitmap = new FormatConvertedBitmap();
MyFormatedBitmap.BeginInit();
MyFormatedBitmap.Source = MyRotatedBitmapSource;
MyFormatedBitmap.DestinationFormat = PixelFormats.BlackWhite;
MyFormatedBitmap.EndInit();
this.image1.Source = MyFormatedBitmap;
完整源码例子请在本页下载,运行效果截图如下图示。
- 2022-02-01 21:42:57下载
- 积分:1
-
ATK-ESP8266 WIFI模块资料
1、ATK-ESP8266 WIFI 模块简介 ATK-ESP8266 是 ALIENTEK 推出的一款高性能的 UART-WiFi(串口-无线)模块,ATK-ESP8266 板载ai-thinker公司的ESP8266模块,该模块通过 FCC,CE认证,可直接用于产品出口欧美地区。 ATK-ESP8266模块采用串口(LVTTL)与MCU(或其他串口设备)通信,内置 TCP/IP协议栈,能够实现串口与WIFI之间的转换。 通过 ATK-ESP8266 模块,传统的串口设备只是需要简单的串口配置,即可通过网络(WIFI)传输自己的数据。 ATK-ESP8266 模块支持 LVTTL串口,兼容3.3V和5V单片机系统,可以很方便的与你的产品进行连接。模块支持串口转 WIFI STA、串口转 AP 和WIFI STA+WIFI AP 的模式,从而快速构建串口-WIFI数据传输方案,方便你的设备使用互联网传输数据。 ATK-ESP8266 29mm*19mm 6 2.54mm
- 2022-08-13 08:01:09下载
- 积分:1
-
C# dateTimePicker 日历控件 弹出式日期选择
C# 实现一个dateTimePicker 日历控件,单击后弹出式日期选择框,比较 经典的操作方法和界面风格。
当用户点击日期选择按钮后,会执行以下函数代码:
private void Form1_Load(object sender, EventArgs e)
{
dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = "MMMM dd, yyyy - dddd";
label1.Text = dateTimePicker1.Text;
}
弹出的日期选择形式如下图所示,完整源码请下载 。
- 2023-02-13 07:35:03下载
- 积分:1