-
C# 创建一个泛型接口
C# 创建一个泛型接口的例子,创建一个泛型接口的代码和方法如下:
public interface IGenericInterface {
T CreateInstance(); //接口中调用CreateInstance方法
}
//实现上面泛型接口的泛型类
//派生约束where T : TI(T要继承自TI)
//构造函数约束where T : new()(T可以实例化)
public class Factory : IGenericInterface where T : TI, new()
{
public TI CreateInstance()//创建一个公共方法CreateInstance
{
return new T();
}
}
class Program
{
static void Main(string[] args)
{
//实例化接口
IGenericInterface factory =
Factory();
//输出指定泛型的类型
Console.WriteLine(factory.CreateInstance().GetType().ToString());
Console.ReadLine();
}
}
- 2022-03-11 00:59:39下载
- 积分:1
-
C# 使用定时器动画摆动显示图形
C# 使用定时器动画摆动显示图形,利用定时器可改变物体运动的振幅、角频率、初相,初始化图形数据,生成如演示效果所示的,圆形小球来回摆动的动画效果。你可以通过窗口中的两个按钮,来查看效果:启动有窗体定时器、关闭有窗体定时器。初始化图形数据的代码如下:
this.timer1.Interval = 30;
r1.X = System.Convert.ToInt16(this.panel1.Width / 2 - 30);
r1.Y = System.Convert.ToInt16(this.panel1.Height / 2 - 30);
r1.Width = 60;
r1.Height = 60;
r2 = r1;
x = System.Convert.ToInt16(this.panel1.Width / 2);
- 2022-03-03 11:34:28下载
- 积分:1
-
C# 精仿漂亮360安全卫士窗口
C# 精仿漂亮360安全卫士窗口 自定义360风格的窗体,使用GDI方式渲染,拥有ToolTip属性的Form基类,可设置是否允许窗体改变大小,包括了系统按钮控制器,对其用参数所构建的窗体系统按钮的控制,造成的阴影效果相当的平滑,且窗口元素可随窗口的大小改变而改变,源码里面的窗体自绘辅助类、自定义窗口类我觉得是相当实用的。
- 2022-08-04 09:09:44下载
- 积分:1
-
C# winform邮件发送 可抄送、密送、发附件
C# 可抄送、密送、发附件的Winform发邮件程序,邮件主是信息的填写部分要注意格式不能错,抄送和密送时多个收件人以分号隔开,可连续发送多个附件,多个附件以分号隔开。发送邮件采用了发送邮件函数的方式,方便以模块化调用 ,发邮件还可异步发送,SMTP 服务器要求安全连接需要设置smtp.EnableSsl = Ssl属性。
请注意:发送邮件前,请先配置然后再发邮件(注:以上参数为格式示例,需自行更改为实际真实有效的信息)。
发邮件的整体用户界面如测试图所示。
- 2023-08-13 11:10:02下载
- 积分:1
-
C# SQLServer企业人事管理系统源代码
这套系统可以实现以下功能:基础信息管理、备忘记录、人事管理、工具管理、系统管理等。C#企业人事系统特点:
操作简单、界面美观。
可以对员工的家庭情况、培训情况进行添加、修改、删除的操作。
全方位数据查询。
员工信息统计。
将表格内容插入到Word文档中。
实现数据库的备份、还原及清空的操作。
- 2022-03-20 16:04:37下载
- 积分:1
-
C# 使用Socket连接远程主机的例子
C# UseSocket例子,使用Socket连接远程主机,其核心是使用Socket的构造函数实例化一个Socket对象,用来连接远程主机,再具体就是调用Connect方法连接远程主机,在成功连接主机后,调用自定义方法ConnectSocket,使用指定的服务器名和端口号实例化一个Socket对象,将请求发送到连接的服务器,从绑定的Socket接收数据,将接收到的数据转换为字符串类型,调用自定义方法SocketSendReceive获取指定主机的主页面内容。
远程连接部分的实现如下:
//使用指定的IP地址和端口号实例化IPEndPoint对象
IPEndPoint IPEPoint = new IPEndPoint(address, port);
//使用Socket的构造函数实例化一个Socket对象,以便用来连接远程主机
Socket newSocket = new Socket(IPEPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
newSocket.Connect(IPEPoint); //调用Connect方法连接远程主机
在创建远程连接之前,要循环遍历得到的IP地址列表。
- 2022-04-29 10:57:31下载
- 积分: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
-
C# 热键模拟 模拟数字输入、英文输入Home键、Backspace键
C#通过窗体的按钮来模拟按下键盘上指定键的功能,比如模拟出了Shift+Home、Delete、Enter、Home、Backspace、数字输入、英文输入等键的功能,相关功能模块代码如下,可自己添加相关的模块功能键:
private void button3_Click(object sender, System.EventArgs e)
{//Backspace空格键
this.richTextBox1.Focus();
SendKeys.Send("{Backspace}");
}
private void button4_Click(object sender, System.EventArgs e)
{ //End结束键
this.richTextBox1.Focus();
SendKeys.Send("{End}");
}
private void button5_Click(object sender, System.EventArgs e)
{//Home键
this.richTextBox1.Focus();
SendKeys.Send("{Home}");
}
private void button6_Click(object sender, System.EventArgs e)
{//Enter回车键
this.richTextBox1.Focus();
SendKeys.Send("{Enter}");
}
private void button7_Click(object sender, System.EventArgs e)
{//Delete删除键
this.richTextBox1.Focus();
SendKeys.Send("{Delete}");
}
- 2022-07-19 00:15:03下载
- 积分: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#处理一些文本时尤其实用,比如设置字体的样式:粗体、斜体、下划线、删除线、字体选择、字体颜色定义、字体大小(字号)定义等,下面是一些相关的定义操作:
fontDialog1.AllowVectorFonts = true;//设置用户可以选择矢量字体
fontDialog1.AllowVerticalFonts = true;//设置字体对话框既显示水平字体,也显示垂直字体
fontDialog1.FixedPitchOnly = false;//设置用户可以选择不固定间距的字体
fontDialog1.MaxSize = 72;//设置可选择的最大字
fontDialog1.MinSize = 5;//设置可选择的最小字
if (fontDialog1.ShowDialog() == DialogResult.OK)//判断是否选择了字体
{
if (richTextBox1.SelectedText == "")//判断是否选择了文本
richTextBox1.SelectAll();//全选文本
richTextBox1.SelectionFont = fontDialog1.Font;//设置选中的文本字体
}
完整的源码示例,请下载本源码。
- 2022-05-17 20:48:47下载
- 积分:1