-
C#合成图片 组合文字及图像的实例
C# 将多个文字图形图像组合成复合图形,一个组合文字及图像的实例。基于WPF技术实现,可作为一个C#学习WPF图像处理的简单范例。C# 将多个文字图形图像组合成复合图形:
DrawingGroup MyGroup = new DrawingGroup();
RadialGradientBrush MyRadialGradientBrush = new RadialGradientBrush();
MyRadialGradientBrush.Freeze();
FontStyle MyStyle = FontStyles.Normal;
FontWeight MyWeight = FontWeights.Medium;
MyWeight = FontWeights.Bold;
MyStyle = FontStyles.Italic;
string MyText = "Visual C++ 2017源码素材网实例精粹罗斌编著";
var MyFont = new FontFamily("宋体");
FormattedText MyFormattedText = new FormattedText(MyText,
System.Globalization.CultureInfo.GetCultureInfo(86),
FlowDirection.RightToLeft,
new Typeface(MyFont, MyStyle, MyWeight, FontStretches.Normal),
FontSize, MyRadialGradientBrush);
Pen MyPen = new Pen(Brushes.Black, 2);
MyPen.Freeze();
……
更多源代码敬请下载本源码。运行截图如下图所示。
- 2022-06-30 08:36:55下载
- 积分:1
-
C#打造自己的智能屏幕取色工具
C#打造自己的智能屏幕取色工具,自动鼠标坐标点的颜色值,取色窗口会自动躲闪鼠标的位置,取色模块从一个继承自Image类的对象中创建Graphics对象,颜色值可以转换为十进制和十六进制,部分初始化源码如下:
[DllImport("gdi32")]
private static extern IntPtr CreateDC(
string lpszDriver, // 驱动名称
string lpszDevice, // 设备名称
string lpszOutput, // 无用,可以设定位"NULL"
IntPtr lpInitData // 任意的打印机数据
);
[DllImport("gdi32.dll")]
private static extern bool BitBlt(
IntPtr hdcDest, // 目标设备的句柄
int nXDest, // 目标对象的左上角的X坐标
int nYDest, // 目标对象的左上角的X坐标
int nWidth, // 目标对象的矩形的宽度
int nHeight, // 目标对象的矩形的长度
IntPtr hdcSrc, // 源设备的句柄
int nXSrc, // 源对象的左上角的X坐标
int nYSrc, // 源对象的左上角的X坐标
int dwRop // 光栅的操作值
- 2022-02-26 10:33:42下载
- 积分:1
-
C# 获取数组指定位置的元素
C# 获取数组指定位置的元素,以下代码为核心代码,分享如下:
private void Frm_Main_Load(object sender, EventArgs e)
{
List ints = new List { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int result = ints.ElementAt(3);//获取指定位置的元素
//输出查询结果
label1.Text = "数据源:ints={0,1,2,3,4,5,6,7,8,9 }";//数据源
label2.Text = "查询表达式:ElementAt(3)";//查询表达式/操作
label3.Text = "查询结果:"+result.ToString();//查询结果
}
- 2022-03-10 14:16:14下载
- 积分:1
-
C# 使用虚方法实现用户登录
C# 使用虚方法实现用户登录,这里需要创建密封类, 密封并重写基类中的Login方法,然后再编写处理函数完成以下代码:
myClass2 myclass2 = new myClass2(); //实例化密封类对象
Console.Write("请输入用户名:");
myclass2.Name = Console.ReadLine(); //为密封类中的用户姓名赋值
Console.Write("请输入密码:");
myclass2.Pwd = Console.ReadLine();//为密封类中的用户密码赋值
myclass2.Login();//调用密封类中的密封方法
- 2022-02-25 18:17:12下载
- 积分:1
-
C# 在LINQ to XML中将XML文件转换为CSV文件的例子源码
C# 在LINQ to XML中将XML文件转换为CSV文件的例子源码,转换的结果请参考如图所示:
private void button1_Click(object sender, EventArgs e)
{//在LINQ to XML中将XML文件转换为CSV文件
TextReader MyReader = new StringReader(this.textBox1.Text);
XElement MyCustomers= XElement.Load(MyReader);
MyReader.Close();
string MyInfo =
(from MyElement in MyCustomers.Elements("客户")
select
String.Format("{0},{1},{2},{3},{4}",
(string)MyElement.Element("客户ID"),
(string)MyElement.Element("公司名称"),
(string)MyElement.Element("城市") + (string)MyElement.Element("地址"),
(string)MyElement.Element("联系人姓名"),
Environment.NewLine
)
).Take(10).Aggregate(new StringBuilder(),(MySubString, MyString)=>MySubString.Append(MyString),MySubString=>MySubString.ToString());
MessageBox.Show(MyInfo, "信息提示");
}
- 2023-04-08 15:00:04下载
- 积分:1
-
C# 向StatusBar状态栏控件中添加窗格面板
C# 向StatusBar状态栏控件中添加窗格面板及文字,也就是把窗口的状态栏分栏,分隔成若干个小区域,显示不同的信息,比如文字提示或图标等。
向StatusBar控件添加窗格面板
StatusBar statusBar1=new StatusBar();
statusBar1.Panels.Add("中华人民共和国");
statusBar1.Panels.Add("重庆市");
statusBar1.Panels.Add("罗斌");
statusBar1.Panels[0].AutoSize = StatusBarPanelAutoSize.Contents;
statusBar1.Panels[1].AutoSize = StatusBarPanelAutoSize.Spring;
statusBar1.Panels[2].AutoSize = StatusBarPanelAutoSize.Contents;
statusBar1.Panels[0].BorderStyle =StatusBarPanelBorderStyle.Raised;
statusBar1.Panels[1].BorderStyle = StatusBarPanelBorderStyle.Sunken;
statusBar1.Panels[2].BorderStyle = StatusBarPanelBorderStyle.Raised;
statusBar1.Panels[2].Icon = new System.Drawing.Icon( @"Error.ico");
statusBar1.ShowPanels = true;
this.Controls.Add(statusBar1);
- 2022-05-17 04:53:06下载
- 积分:1
-
C# 在Vista、Win7中显示XP风格的文件对话框
C#自定义打开文件对话框,并在文件打开对话框中添加自定义区域,可以在非Windows XP系统中调用XP风格的对话框,比如本例子演示了在Vista或Windows7 中显示XP风格的文件对话框:
private void button1_Click(object sender, EventArgs e)
{//在文件打开对话框中添加自定义区域
this.openFileDialog1.AutoUpgradeEnabled = true;
this.openFileDialog1.CustomPlaces.Add(@"F:");
this.openFileDialog1.ShowDialog();
}
private void button2_Click(object sender, EventArgs e)
{//在Vista中显示XP风格的文件对话框
this.openFileDialog1.AutoUpgradeEnabled = false;
this.openFileDialog1.ShowDialog();
}
- 2022-03-15 22:57:57下载
- 积分:1
-
录音程序
自己做的小程序,在VC++6.0下编译通过
- 2022-02-28 14:04:03下载
- 积分:1
-
C# 禁止鼠标左键单击的实现源码
C# 禁止鼠标左键单击,附上例子源码,禁止后将不响应鼠标左键消息,当然也可恢复鼠标左键,直接关闭本程序即可恢复,实现方法也很简单,看如下代码:
private void button1_Click(object sender, EventArgs e)
{//禁止鼠标左键单击
Application.AddMessageFilter(this);
MessageBox.Show("鼠标左键已经被禁止,请用Tab键执行操作!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
private void button2_Click(object sender, EventArgs e)
{//允许鼠标左键单击
Application.RemoveMessageFilter(this);
MessageBox.Show("鼠标左键已经被解禁,可以执行操作!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
public bool PreFilterMessage(ref System.Windows.Forms.Message MySystemMessage)
{//不响应鼠标左键消息
if (MySystemMessage.Msg >= 513 && MySystemMessage.Msg
- 2022-03-09 09:45:43下载
- 积分:1
-
Visual C# 交叉表查询
这是一个Visual C# 交动态交叉表查询示例程序,动态交叉表(SQLServer 2005)查询例子源码:
private void Frm_Main_Load(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(//创建数据库连接对象
@"Server=WIN-GI7E47AND9RLS;database=db_TomeTwo;Uid=sa;Pwd=");
SqlDataAdapter dap = new SqlDataAdapter(//创建数据适配器对象
"select * from tb_VenditionInfo", con);
DataSet ds = new DataSet();//创建数据集
dap.Fill(ds, "table");//填充数据集
dgv_Message.DataSource =//设置数据源
ds.Tables[0].DefaultView;
}
private void btn_Select_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(//创建数据库连接对象
@"Server=WIN-GI7E47AND9RLS;database=db_TomeTwo;Uid=sa;Pwd=");
SqlDataAdapter dap = new SqlDataAdapter("Corss", con);//创建数据适配器
dap.SelectCommand.CommandType =//设置命令为存储过程
CommandType.StoredProcedure;
DataSet ds = new DataSet();//创建数据集
dap.Fill(ds, "table");//填充数据集
dgv_Message.DataSource =//设置数据源
ds.Tables[0].D
- 2022-12-26 00:25:03下载
- 积分:1