-
C# LockThread()锁定线程以实现线程同步
C# 使用LockThread()方法实现线程监视监控的例子,锁定线程以实现线程同步,实现方法比较简单,可参考以下的代码,完整的代码可在本网页下载:
static void Main(string[] args)
{
Program myProgram = new Program();//实例化类对象
myProgram.LockThread(); //调用锁定线程方法
Console.ReadLine();
}
void LockThread()
{
Monitor.Enter(this);//锁定当前线程
Console.WriteLine("锁定线程以实现线程同步");
Monitor.Exit(this); //释放当前线程
}
- 2022-02-20 05:30:05下载
- 积分:1
-
C# 制作一个顶层显示的窗口-不被其它窗口遮挡
C#设置顶层显示的窗口,让窗口显示在其它窗口的最上面,不被遮挡,这种窗口形式或许大家平时都见到过,特别是一些视频播放器,在播放视频的时候,都可以设置是否顶层显示,本示例就是模拟了这个功能,通过“允许以最顶层方式显示窗口”和“禁止以最顶层方式显示窗口”来模拟启用和关闭顶层窗口的功能,代码貌似简单:
private void button1_Click(object sender, RoutedEventArgs e)
{//允许以最顶层方式显示窗口
this.Topmost = true;
}
private void button2_Click(object sender, RoutedEventArgs e)
{//禁止以最顶层方式显示窗口
this.Topmost = false;
}
- 2023-05-27 13:10:03下载
- 积分:1
-
C# 使用几何图形剪辑图像控件中的部分区域
C# 使用几何图形剪辑图像控件中的部分区域,类似于图片遮罩的效果,本例中,把一张图片裁切成椭圆形,图片显示在椭圆的底部,可随窗口的改变自动改变大校
private void Window_Loaded(object sender, RoutedEventArgs e)
{//使用几何图形剪辑图像控件中的部分区域
var MyClip = new EllipseGeometry();
MyClip.RadiusX = 120;
MyClip.RadiusY = 80;
MyClip.Center = new Point(145, 110);
this.image1.Clip = MyClip;
}
- 2022-11-04 14:00:03下载
- 积分:1
-
用C#实现启动欢迎画面
用C#制作软件启动时的欢迎界面,开始画面,在软件被打开时最先显示的一个窗口效果,在本例中是直接调用一张图片来显示,但是具体的实现,比如图片显示的位置 、显示的时间长短等,用到的定时器,需要控制好,本实例代码就是向大家展示如何进行这些控制,部分代码为:
private void Form1_Load(object sender, EventArgs e)
{//启动窗体
Form2 MySplashForm = new Form2();
MySplashForm.ShowDialog();
}
private void Form2_Load(object sender, EventArgs e)
{//设置启动窗体
this.FormBorderStyle = FormBorderStyle.None;
this.BackgroundImage = Image.FromFile("test.jpg");
this.timer1.Start();
this.timer1.Interval = 10000;
}
private void timer1_Tick(object sender, EventArgs e)
{//关闭启动窗体
this.Close();
}
定时器控制:
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{//关闭定时器
this.timer1.Stop();
}
- 2022-01-22 15:57:51下载
- 积分:1
-
PX4飞控机身主板源代码
配套硬件配置:
CPU:STM32F205
主频:168 MHz
RAM:256 KB
FLASH:2 MB闪存
传感器:3D ACC /陀螺仪/ MAG/气压
其它:
microSD插槽,5个UART,CAN,I2C,SPI,ADC,等
- 2022-01-28 08:21:53下载
- 积分: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# 使用Binding对象读取图像字段
C# 数据库操作实例,使用Binding对象从数据库中读取图像字段,同时还演示了从SQL Server数据库读取图像,向SQL Server数据库添加图像。
向SQL Server数据库添加图像主要是在SQL Server Northwind数据库中创建图像数据表,添加图像数据参数值,从SQL Server数据库读取图像的代码如下:
private void button2_Click(object sender, EventArgs e)
{//从SQL Server数据库读取图像
var MySQL = "Select * From MyImageTable ";
var MyConnection = new System.Data.SqlClient.SqlConnection("Data Source=.SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True");
var MySet = new DataSet();
var MyAdapter = new System.Data.SqlClient.SqlDataAdapter(MySQL, MyConnection);
MyAdapter.Fill(MySet);
byte[] MyBytes = (byte[])MySet.Tables[0].Rows[0]["ImageData"];
var MyStream = new System.IO.MemoryStream(MyBytes);
this.pictureBox1.Image = Image.FromStream(MyStream);
}
- 2022-01-25 16:04:56下载
- 积分:1
-
C# 最经典 简单的progressBar进度条用法示例
这是一个大家都熟悉的实用技巧,用C#制作进度条功能,本代码演示了最简单,且实现方法简单的progressBar进度条用法示例,
单击按钮后,开始演示进度条效果,这部分代码写在按钮事件中:
progressBar1.Value = 0;//设置进度条的初始值
progressBar1.Minimum = 0;//设置progressBar1控件的Minimum值为0
progressBar1.Maximum = 500;//设置progressBar1的Maximum值为500
progressBar1.Step = 1;//设置progressBar1的增值为1
for (int i = 0; i < 500; i++)//调用for语句循环递增
{
progressBar1.PerformStep();//使用PerformStep方法按Step值递增
textBox1.Text = "进度值:" + progressBar1.Value.ToString();
}
- 2022-08-18 01:25:55下载
- 积分:1
-
使用C#的wpf技术生成小球动画效果
使用C#的wpf技术生成小球动画效果,主要是实现小球的移动动画,通过简单的动画,你可了解WPF的作用机理,如何用好WPF来制作更为复杂的动画效果,这个例子过于简单哦,但容易理解。
- 2022-03-22 16:47:54下载
- 积分:1
-
C# 使用COMPUTE BY 统计查询数据库中各部门工资
C# COMPUTE BY数据库查询实例,本查询可用于统计各部门总工资,测试前请附加好数据库。定义以下代码完成此查询:
DataSet P_ds = GetPay();//得到数据集
txt_Pay1.Text = P_ds.Tables[1].Rows[0][0].ToString();//得到部门总工资
txt_Pay2.Text = P_ds.Tables[3].Rows[0][0].ToString();//得到部门总工资
txt_Pay3.Text = P_ds.Tables[5].Rows[0][0].ToString();//得到部门总工资
string P_Str_ConnectionStr = string.Format(//创建数据库连接字符串
@"server=LVSHUANGSHJ;database=db_TomeTwo;uid=sa;pwd=");
string P_Str_SqlStr = string.Format(//创建SQL查询字符串
"SELECT * FROM tb_Employee ORDER BY 所属部门 COMPUTE SUM(工资) BY 所属部门");//创建COMPUTE BY 查询语句
SqlDataAdapter P_SqlDataAdapter = new SqlDataAdapter(//创建数据适配器
P_Str_SqlStr, P_Str_ConnectionStr);
DataSet P_ds = new DataSet();//创建数据集
P_SqlDataAdapter.Fill(P_ds);//填充数据集
return P_ds;//返回数据集
本查询将结果返回DataTable到对象中显示,完整源代码请下载。
- 2022-02-05 08:50:14下载
- 积分:1