-
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#
/*
* 由SharpDevelop创建。
* 用户: zhang
* 日期: 2017/3/18
* 时间: 21:50
* 要改变这种模板请点击 工具|选项|代码编写|编辑标准头文件
*/
using System;
using System.Diagnostics;
using System.Drawing;
using System.Threading;
using System.Windows.Forms;
namespace CPinfoSafe
{
public sealed class NotificationIcon
{
private NotifyIcon notifyIcon;
private ContextMenu notificationMenu;
DialogResult dr;
#region Initialize icon and menu
public NotificationIcon()
{
notifyIcon = new NotifyIcon();
notificationMenu = new ContextMenu(InitializeMenu());
notifyIcon.DoubleClick += IconDoubleClick;
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(NotificationIcon));
notifyIcon.Icon = (Icon)resources.Get
- 2022-11-01 19:35:03下载
- 积分:1
-
C# 图像控件显示绘制的几何图形
C# 使用图像控件显示绘制的多个几何图形,可一次显示多个绘制的图形,相关代码如下:
GeometryGroup MyGeometry = new GeometryGroup();
MyGeometry.Children.Add(new EllipseGeometry(new Point(50, 50), 45, 20));
MyGeometry.Children.Add(new EllipseGeometry(new Point(50, 50), 20, 45));
RectangleGeometry MyRectangle = new RectangleGeometry();
MyRectangle.Rect = new Rect(2, 2, 96, 96);
MyGeometry.Children.Add(MyRectangle);
GeometryDrawing MyDrawing = new GeometryDrawing();
MyDrawing.Geometry = MyGeometry;
MyDrawing.Pen = new Pen(Brushes.Blue, 3);
DrawingImage MyImage = new DrawingImage();
MyImage.Drawing = MyDrawing;
MyImage.Freeze();
this.image1.Source = MyImage;
- 2022-03-07 01:28:50下载
- 积分:1
-
C# 写入并读取内存流
C# 写入并读取内存流,演示一些基本的内存流操作方法,编写以下代码可实现这些功能:
byte[] BContent = Encoding.Default.GetBytes(textBox1.Text);
MemoryStream MStream = new MemoryStream(100);
MStream.Write(BContent, 0, BContent.Length);
richTextBox1.Text = "分配给该流的字节数:" + MStream.Capacity.ToString() + "
流长度:"
+ MStream.Length.ToString() + "
流的当前位置:" + MStream.Position.ToString();
MStream.Seek(0, SeekOrigin.Begin);
byte[] byteArray = new byte[MStream.Length];
int count = MStream.Read(byteArray,0,(int)MStream.Length-1);
while (count < MStream.Length)
{
byteArray[count++] = Convert.ToByte(MStream.ReadByte());
}
char[] charArray = new char[Encoding.Default.GetCharCount(byteArray, 0, count)];
Encoding.Default.GetChars(byteArray, 0, count, charArray, 0);
for (int i = 0; i < charArray.Length; i++)
{
richTextBox2.Text += charArray[i].ToString();
}
- 2022-03-11 09:55:00下载
- 积分:1
-
C# 序列中所有元素是否都满足指定条件
C# 序列中所有元素是否都满足指定条件,使用List序列对象创建List人员列表,判断是否所有人员的年龄都大于30岁,dgpwC#中序列的用法:
bool result = People.All(p => p.Old > 30);显示查询结果:
label1.Text = "数据源:{1,"王*军",28},{2,"赵*东",31},{3,"王*科",33}";//数据源
label2.Text = "查询表达式:All(p => p.Old > 30)";//查询表达式/操作
label3.Text = "查询结果:" + result.ToString();//查询结果
更详细代码请下载源码。
- 2023-08-15 15:50:03下载
- 积分:1
-
C# 获取DataGridView鼠标单击单元格值
C# 单击 鼠标获取DataGridView单元格的值,这个例子需要连接SQL数据库,测试时候没连接成功,截图也不准确,请大家下载源码,自己配置环境调试吧,这是核心代码部分:
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{//获取DataGridView鼠标单击单元格值
var MyInfo = this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
MessageBox.Show("刚才的选择是:" + MyInfo, "信息提示", MessageBoxButtons.OK);
}
private void dataGridView1_MouseUp(object sender, MouseEventArgs e)
{//单击鼠标获取DataGridView单元格值
var MyHit = this.dataGridView1.HitTest(e.X, e.Y);
if (MyHit.RowIndex >= 0)
{
this.dataGridView1.Select();
var MyInfo = this.dataGridView1.Rows[MyHit.RowIndex].Cells[MyHit.ColumnIndex].Value.ToString();
MessageBox.Show("刚才的选择是:" + MyInfo, "信息提示", MessageBoxButtons.OK);
}
}
- 2022-07-18 18:54:50下载
- 积分:1
-
C# 对组合查询后的结果进行升序、降序排序
C# 对组合查询后的结果进行排序,排序包括了升序、降序排列。查询到数据后,单击窗口中的对应按钮即可实现对应的排序操作,核心代码的编写有如下参考:
string P_Str_ConnectionStr = string.Format(//创建数据库连接字符串
@"server=WIN-GI7E47AND9RLS;database=db_TomeTwo;uid=sa;pwd=");
string P_Str_SqlStr = string.Format(//创建SQL查询字符串
@"SELECT 年龄 AS 信息 FROM tb_Student UNION SELECT 总分 FROM tb_grade UNION SELECT 课程编号 FROM tb_course ORDER BY 信息 ASC");
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-05-06 02:20:47下载
- 积分:1
-
C# 实现窗体控件值与数据库字段绑定
C# 实现窗体控件值与数据库字段绑定,DataBinding的用法例子,基本的数据库操作示例,学习MyAdapter、SqlDataAdapter、DataBindings、BindingContext等的用法,测试例子如上图所示。
- 2022-03-18 00:24:48下载
- 积分:1
-
C# 为WPF应用程序设置渐变的背景颜色的源码实例
C# 为WPF应用程序设置渐变的背景颜色的源码实例,窗口打开后,单击按钮,即可把窗口的背景色设置成渐变色,来看如下代码:private void button1_Click(object sender, RoutedEventArgs e)
{//为WPF应用程序设置渐变的背景颜色(文件名称:Window1.xaml.cs)
this.Background = (Brush)TryFindResource("MyGradientBackground");
}
- 2023-05-10 22:40:03下载
- 积分:1
-
C# 判断是否为数值
C# 判断是否为数值,具体来说就是判断学生年龄是否为数值,private List GetStudent()
{
string P_Str_ConnectionStr = string.Format(//创建数据库连接字符串
@"server=WIN-GI7E47AND9RLS;database=db_TomeTwo;uid=sa;pwd=");
string P_Str_SqlStr = string.Format(//创建SQL查询字符串
"SELECT 学生姓名,ISNUMERIC(年龄) FROM tb_Student");
SqlDataAdapter P_SqlDataAdapter = new SqlDataAdapter(//创建数据适配器
P_Str_SqlStr, P_Str_ConnectionStr);
DataTable P_dt = new DataTable();//创建数据表
P_SqlDataAdapter.Fill(P_dt);//填充数据表
List P_str = new List();//创建数据集合
foreach (DataRow item in P_dt.Rows)
{
P_str.Add(new Instance() { 姓名=item[0].ToString(),//添加数据项
年龄 = item[1].ToString() ==
"1" ? "数值" : "非数值" });
}
return P_str;//数据集合
}
- 2022-03-19 05:06:24下载
- 积分:1