-
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#制作文字渐变的 WPF 窗体按钮特效
C#制作文字渐变的 WPF 窗体按钮特效,就是大家熟悉的渐变按钮,按钮的大小会随窗口的变化而变化,且按钮中的文本颜色呈现渐变色彩,当鼠标悬停于上面时,还会具有不同的渐变动画效果,截图所示为静态效果,请下载后编译查看动画效果.
- 2022-01-26 00:26:26下载
- 积分:1
-
C# 获取Access数据库的数据表名称
C# 获取Access数据库的数据表名称,private void button1_Click(object sender, EventArgs e)
{//获取Access数据库的数据表名称
string MyAccessDBFile = @"F:Northwind.mdb";
string MyConnectString ="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +MyAccessDBFile;
var MyConnection = new System.Data.OleDb.OleDbConnection(MyConnectString);
MyConnection.Open();
var MyTables = MyConnection.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
string MyInfo = MyAccessDBFile + "数据库的数据表包括:";
foreach (DataRow MyRow in MyTables.Rows)
{
string MyTable = MyRow["TABLE_NAME"].ToString();
MyInfo += MyTable + "、";
}
MessageBox.Show(MyInfo, "信息提示", MessageBoxButtons.OK);
}
- 2023-01-05 19:40:03下载
- 积分:1
-
C# 以WrapWithOverflow方式、Wrap方式、NoWrap方式显示文字
C#以三种方式显示文字,分别以WrapWithOverflow方式、Wrap方式、NoWrap方式将文字显示在窗口中,这三种方式实现的代码请看以下代码:
private void button1_Click(object sender, RoutedEventArgs e)
{//WrapWithOverflow方式
this.MyTextBlock.TextWrapping = System.Windows.TextWrapping.WrapWithOverflow;
}
private void button3_Click(object sender, RoutedEventArgs e)
{//Wrap方式
this.MyTextBlock.TextWrapping = System.Windows.TextWrapping.Wrap;
}
private void button2_Click(object sender, RoutedEventArgs e)
{//NoWrap方式
this.MyTextBlock.TextWrapping = System.Windows.TextWrapping.NoWrap;
}
- 2022-01-25 20:43:04下载
- 积分:1
-
C# 打印XPS文档 XPS文件打印
C# 打印选择的XPS文档,打印XPS文件,相关代码如下:
private void button1_Click(object sender, RoutedEventArgs e)
{//打印选择的XPS文档
var MyDlg = new Microsoft.Win32.OpenFileDialog();
MyDlg.InitialDirectory = System.IO.Directory.GetCurrentDirectory();
MyDlg.Filter = "XPS文件(*.xps)|*.xps|所有文件(*.*)|*.*";
if (MyDlg.ShowDialog() == true)
{
string MyFileName = MyDlg.FileName;
var pDialog = new PrintDialog();
pDialog.PageRangeSelection = PageRangeSelection.AllPages;
pDialog.UserPageRangeEnabled = true;
if (pDialog.ShowDialog() == true)
{
var MyDocument = new System.Windows.Xps.Packaging.XpsDocument(MyFileName, System.IO.FileAccess.ReadWrite);
FixedDocumentSequence MyFixedDocumentSequence = MyDocument.GetFixedDocumentSequence();
pDialog.PrintDocument(MyFixedDocumentSequence.DocumentPaginator, "我的XPS打印文档");
}
}
}
- 2022-03-23 09:37:24下载
- 积分:1
-
C# WPF设置图片做为程序窗口背景
C# WPF设置程序窗口背景图片的例子,调用外部一张图片,作为程序窗口的背景,这是一个挺基础的C#窗口设计制作小例子。本程序通过定义BitmapImage和ImageBrush()来实现,有兴趣的参见以下几行代码:
设置WPF程序的背景图像代码如下:
var MyImage = new BitmapImage(new Uri("J001.jpg", UriKind.Relative));
var MyBrush = new ImageBrush();
MyBrush.ImageSource = MyImage;
this.Background = MyBrush;
本例的运行效果请参见下图示。
- 2022-02-28 22:19:19下载
- 积分:1
-
C# 仿微信大部分功能含登录扫描二维码的源代码
C# 版网页微信源代码,仿出了微信的大部分功能,加载登录微信需要扫描二维码,不过使用了较多的微信类库,微信主界面登录在WeChat_Desktop_App文件夹中。下载源码后请重新编译本源码,生成exe运行,界面如截图所示。
本C#微信项目,将微信的各个功能模块单独来开发,存放于各个文件夹中,比如登录模块、主界面模板、日志信息写入、文件上传下载日志和资源文件等,测试中发现可以登录微信,但是有些功能受测试条件限制,没能运行起来,大家下载源码后自己研究吧,有利于学习C#环境下的各个微信接口的使用。
- 2023-04-27 07:20:05下载
- 积分:1
-
C# 确定字符串末尾是否匹配指定子串
C# 确定字符串末尾是否匹配指定子串,本字符串查询实例具体到只匹配字符串开头和结尾是否有指定的字符串,下面是具体的查询代码编写方法:
private void button1_Click(object sender, EventArgs e)
{//确定字符串开头是否匹配指定子串
string MyFullInfo = "中华人民共和国";
string MyPartInfo="中华";
if(MyFullInfo.StartsWith(MyPartInfo))
MessageBox.Show(MyFullInfo + " 的开头是 " + MyPartInfo, "信息提示", MessageBoxButtons.OK);
else
MessageBox.Show(MyFullInfo + " 的开头不是 " + MyPartInfo, "信息提示", MessageBoxButtons.OK);
}
private void button2_Click(object sender, EventArgs e)
{//确定字符串末尾是否匹配指定子串
string MyFullInfo = "中华人民共和国";
string MyPartInfo = "共和国";
if (MyFullInfo.EndsWith(MyPartInfo))
MessageBox.Show(MyFullInfo + " 的末尾是 " + MyPartInfo, "信息提示", MessageBoxButtons.OK);
else
MessageBox.Show(MyFullInfo + " 的末尾不是 " + MyPartInfo, "信息提示", MessageBoxButtons.OK);
}
- 2022-02-09 23:32:04下载
- 积分:1
-
C# 设置IE地址栏的自动完成功能
C# 设置IE地址栏的自动完成功能,就是用户输入的时候,会下拉提示出相关的内容,可提升用户体验,现在使用已经很广泛了,本例子中的这一自动完成功能,代码如下:
private void button1_Click(object sender, EventArgs e)
{
//创建或者打开指定的注册表项
RegistryKey rgK =Registry.CurrentUser.CreateSubKey(@"SoftwareMicrosoftWindowsCurrentVersionExplorerAutoComplete");
rgK.SetValue("AutoSuggest", "yes", RegistryValueKind.String);//设置IE地址栏的自动完成功能
MessageBox.Show("设置成功!");
}
private void button2_Click(object sender, EventArgs e)
{
//创建或者打开指定的注册表项
RegistryKey rgK =Registry.CurrentUser.CreateSubKey(@"SoftwareMicrosoftWindowsCurrentVersionExplorerAutoComplete");
rgK.SetValue("AutoSuggest", "no", RegistryValueKind.String);//取消IE地址栏的自动完成功能
MessageBox.Show("取消成功!");
}
- 2022-12-03 17:35:03下载
- 积分:1
-
C# 使用互斥量禁止程序运行两个实例
C# 使用互斥量禁止程序运行两个实例,这个主要是根据开发的程序使用环境决定,有时候一个程序运行多个副本,会浪费系统资源造成不稳定,但有人说这样会让软件使用更方便,以下代码是不让程序运行多个实例副本,关键代码如下所示:
private void Form1_Load(object sender, EventArgs e)
{//使用互斥量禁止程序运行两个实例
bool bExist;
var MyMutex =new System.Threading.Mutex(true, "OnlyOneTime", out bExist);
if (bExist)
MyMutex.ReleaseMutex();
else
{
MessageBox.Show("程序已经运行!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
this.Close();
}
}
- 2022-03-24 02:20:34下载
- 积分:1