-
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# 在LINQ to DataSet中对分组操作执行子查询
C# 在LINQ to DataSet中对分组操作执行子查询,相关代码:
private void button1_Click(object sender, EventArgs e)
{//在LINQ to DataSet中对分组操作执行子查询
SqlConnection MyConnection = new SqlConnection();
MyConnection.ConnectionString = @"Data Source =.SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True";
MyConnection.Open();
SqlCommand MyCommand = new SqlCommand("Select * From Orders ", MyConnection);
DataSet MySet = new DataSet();
SqlDataAdapter MyAdapter = new SqlDataAdapter(MyCommand);
MyAdapter.Fill(MySet);
DataTable MyQueryTable = MySet.Tables[0];
var MyQuery = from MyOrder in MyQueryTable.AsEnumerable()
orderby MyOrder.Field("ShipCity")
group MyOrder by MyOrder.Field("ShipCity") into g
select new
{
MyCity = g.Key,
MyMaxFreight = (from MyData in g select MyData.Field("Freight")).Max()
- 2022-01-27 20:20:32下载
- 积分:1
-
C# OpenRead获取网站源代码,并保存到TXT文件Stream流中
C#获取网页源代码,并将其保存为TXT文件,这里应用了OpenRead和Stream流方法,具体的实现,请参见以下代码:
richTextBox1.Text = string.Empty;
WebClient wclient = new WebClient();//实例化WebClient类对象
wclient.BaseAddress = textBox1.Text;//设置WebClient的基URI
wclient.Encoding = Encoding.UTF8;//指定下载字符串的编码方式
//为WebClient类对象添加标头
wclient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
//使用OpenRead方法获取指定网站的数据,并保存到Stream流中
Stream stream = wclient.OpenRead(textBox1.Text);
//使用流Stream声明一个流读取变量sreader
StreamReader sreader = new StreamReader(stream);
string str = string.Empty;//声明一个变量,用来保存一行从WebCliecnt下载的数据
//循环读取从指定网站获得的数据
while ((str = sreader.ReadLine()) != null)
{
richTextBox1.Text += str + "
";
}
//调用WebClient对象的DownloadFile方法将指定网站的内容保存到文件中
wclient.DownloadFile(textBox1.Text, DateTime.Now.ToFileTime() + ".txt");
MessageBox.Show("保存到文件成功");
- 2022-02-02 08:55:49下载
- 积分:1
-
C# 使用 tabControl创建窗体TAB效果
C# 使用 tabControl创建窗体TAB选项卡效果,大家都熟悉的功能,这个例子比较基础,面向C#的初学者,下面是实现本功能的核心代码:
private void Form1_Load(object sender, EventArgs e)
{
tabControl1.ImageList = imageList1;
tabPage1.ImageIndex = 0;
tabPage1.Text = "选项卡1";
tabPage2.ImageIndex = 0;
tabPage2.Text = "选项卡2";
}
本TAB运行效果请参见截图,完整源码请下载。
- 2022-08-22 06:09:52下载
- 积分:1
-
C# 仿微信大部分功能含登录扫描二维码的源代码
C# 版网页微信源代码,仿出了微信的大部分功能,加载登录微信需要扫描二维码,不过使用了较多的微信类库,微信主界面登录在WeChat_Desktop_App文件夹中。下载源码后请重新编译本源码,生成exe运行,界面如截图所示。
本C#微信项目,将微信的各个功能模块单独来开发,存放于各个文件夹中,比如登录模块、主界面模板、日志信息写入、文件上传下载日志和资源文件等,测试中发现可以登录微信,但是有些功能受测试条件限制,没能运行起来,大家下载源码后自己研究吧,有利于学习C#环境下的各个微信接口的使用。
- 2023-04-27 07:20:05下载
- 积分:1
-
C# 显示选择的DataGridView单元格行数据
C# 显示选择的DataGridView单元格行数据附实现源码,连接数据库后,单击上部的“显示选择的单元格行”功能,即可显示出该行数据,具体的实现代码如下:
private void toolStripButton1_Click(object sender, EventArgs e)
{//显示选择的单元格行(获取DataGridView控件中选定的单元格行)
Int32 MyCount =customersDataGridView.Rows.GetRowCount(DataGridViewElementStates.Selected);
if (MyCount > 0)
{
System.Text.StringBuilder MyInfo = new System.Text.StringBuilder();
for (int i = 0; i < MyCount; i++)
{
MyInfo.Append("被选择的行号是: ");
MyInfo.Append(customersDataGridView.SelectedRows[i].Index.ToString());
MyInfo.Append(Environment.NewLine);
}
MyInfo.Append("一共选择了: " + MyCount.ToString()+"行。");
MessageBox.Show(MyInfo.ToString(), "信息提示",MessageBoxButtons.OK);
}
}
- 2022-12-31 00:55:04下载
- 积分:1
-
C# 输入界面中的各种文本框判断效果演示
这是一个实用的输入判断验证演示程序,面向C#编程环境,当用户输入的数据不正确或为空时,均会显示提示,不过这个提示是一个图标在闪烁,直到输入正确,下面是判断机制:
private void textBox2_Validating(object sender, System.ComponentModel.CancelEventArgs e)
{
if (textBox2.Text == "")//判断是否输入订货数量
{
errorProvider2.SetError(textBox2, "不能为空");//设置errorProvider2的错误提示
}
else
{
try
{
int x = Int32.Parse(textBox2.Text);//判断是否输入数字,如果不是数字会出现异常
errorProvider2.SetError(textBox2, "");// errorProvider2控件不显示任何错误信息
b = 1;//将b赋值为1
}
catch
{
//如果出现异常,设置errorProvider2控件的错误信息
errorProvider2.SetError(textBox2, "请输入一个数");
}
}
}
private void textBox3_Validating(object sender, System.ComponentModel.CancelEventArgs e)
{
if (textBox3.Text == "")//判断是否输入订货数量
{
errorProvider3.SetError(textBox3, "不能为空");//设置errorProvider3显示的错误消息
}
else
{
errorProvider3.SetError(textBox
- 2022-01-25 17:43:07下载
- 积分:1
-
C# 简单嵌套查询的例子
分享一个C# 简单嵌套查询的例子,查询总分在580分以上的学生信息。具体代码如下:
/// 查询数据库信息
/// 方法返回DataTable对象
private DataTable GetGrade()
{
string P_Str_ConnectionStr = string.Format(//创建数据库连接字符串
@"server=WIN-GI7E47AND9RLS;database=db_TomeTwo;uid=sa;pwd=");
string P_Str_SqlStr = string.Format(//创建SQL查询字符串
@"SELECT 学生姓名,学生编号, 性别,出生年月,年龄,所在学院,所学专业 FROMtb_Student WHERE 学生编号 IN (SELECT 学生编号 FROM tb_Grade WHERE 总分>=580)");
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-12-23 02:20:03下载
- 积分:1
-
C# 实现简单的WPF版图片淡入淡出效果
C# 实现简单的WPF版图片淡入淡出效果。运行本效果实例,即可看到图片淡入淡出变化,先淡入再淡出,不停的变化。
- 2022-01-25 21:23:37下载
- 积分:1
-
C# 复制当前屏幕上指定区域图像
C#复制当前屏幕上指定区域图像。运行效果如演示截图所示。最核心的两行代码如下所示:
private void button1_Click(object sender, EventArgs e)
{//复制当前屏幕上指定区域图像
Graphics g = this.pictureBox1.CreateGraphics();
g.CopyFromScreen(new Point(1, 1), new Point(0, 0),new Size(1201, 1201));
}
- 2022-02-03 00:21:26下载
- 积分:1