-
C# 3DTools.dll WPF 3D建模、透视、动画效果演示实例
这是一个使用C# 3DTools.dll WPF技术实现的 3D建模、透视、动画效果演示实例,本源码包括了以下演示范围:使用ScreenSpaceLines3D绘制的3D坐标系、3D立方体、球、不同光源的折射、不同材质的视觉效果、2D房子、3D房子,用MatrixCamera模拟透视相机等功能,关于透视的若干参数设置和实现原理,请参考PerspectiveByMatrixCamera.xaml.cs,在此文件中包括了正射投影的若干参数, 计算M坐标系下的三个轴单位向量 Mx,My,Mz,计算平移矩阵的dx,dy,dz,计算正射投影矩阵的Sx,Sy,Sz,dz等。
创建相机和光源、坐标系请参考Sphere.xaml.cs文件,如果line3D非空,则需要绘制构建的三角网,计算出来的点,然后加入到MeshGeometry3D的Positions属性。
- 2023-08-07 10:10:03下载
- 积分:1
-
C# WPF 进度条动画实例源代码
C# WPF 进度条动画,在运行后单击“开始动画”可演示出横向的直方图动画效果,我们可以把此动画应用到C#制作的Loading加载动画中,几个直方图沿水平方向不断变长,进度不一,不多介绍了,有兴趣的下载源码吧。
- 2022-07-22 20:09:21下载
- 积分:1
-
C# 响应新增系统菜单项命令
C# 制作的响应式菜单,响应新增系统菜单项命令,在标题栏单击鼠标右键,会显示出菜单,单击“新增菜单”会响应该菜单的点击,新增了一项自定义的菜单项及命令,实现过程如下:
protected override void WndProc(ref Message SystemMessage)
{//响应新增系统菜单项命令
switch (SystemMessage.Msg)
{
case WM_SYSCOMMAND:
if (((int)SystemMessage.WParam) == WM_USER + 2)
MessageBox.Show("响应新增系统菜单项命令", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
else
base.WndProc(ref SystemMessage);
break;
default:
base.WndProc(ref SystemMessage);
break;
}
}
- 2022-07-16 20:46:37下载
- 积分:1
-
Visual C# 查询指定时间间隔的数据
Visual C# 查询指定时间间隔的数据,根据学生出生年月查询学生年龄,代码如下:
private DataTable GetMessage()
{
string P_Str_ConnectionStr = string.Format(//创建数据库连接字符串
@"server=WIN-GI7E47AND9RLS;database=db_TomeTwo;uid=sa;pwd=");
string P_Str_SqlStr = string.Format(//创建SQL查询字符串
"select 学生姓名,出生年月 from tb_Student");
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-03-02 08:45:17下载
- 积分:1
-
C# 折线图实例 国外源码
一个来源于国外网站的C# 折线图实例,里面的注释也是比较多的,只可惜全是英文,运行的界面效果如图所示。
此源码看上去像是一个生成正弦、余弦曲线的一个源码例子,源码可在VS2015下顺利编译运行,为你学习C#提供一个参考。
- 2022-01-29 00:30:47下载
- 积分:1
-
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# 键盘Ctrl+g控制蜂鸣器播放声音
Visual C#播放声音,运行程序后,操作键盘上的Ctrl+g组合键发出蜂鸣声...这里的拖放声音是蜂鸣声,从音箱里发出,并不是从机箱的蜂鸣器发声。实现的过程和细节代码如下:
//导入 Windows Beep() API 函数
[DllImport("kernel32.dll")]
private static extern bool Beep(int freq, int dur);
// 定义PlaySound()要使用的常数
public const int SND_FILENAME = 0x00020000;
public const int SND_ASYNC = 0x0001;
// 导入 Windows PlaySound() 函数
[DllImport("winmm.dll")]
public static extern bool PlaySound(string pszSound,
int hmod,
int fdwSound);
[STAThread]
static void Main(string[] args)
{
// 使用Ctrl+g发出蜂鸣声
Console.Write("a");
Console.WriteLine("使用Ctrl+g发出蜂鸣声...");
Console.ReadLine();
// 使用 Windows API 发出蜂鸣声
Beep(800, 200);
Console.WriteLine("使用 Windows API 发出蜂鸣声...");
Console.ReadLine();
// 播放bells.wav文件
PlaySound("bells.wav",
0,
SND_FILENAME | SND_ASYNC);
Console.WriteLine("播放bells.wav文件...");
Console.ReadLine();
}
- 2022-05-23 17:14:52下载
- 积分:1
-
C#制作文字渐变的 WPF 窗体按钮特效
C#制作文字渐变的 WPF 窗体按钮特效,就是大家熟悉的渐变按钮,按钮的大小会随窗口的变化而变化,且按钮中的文本颜色呈现渐变色彩,当鼠标悬停于上面时,还会具有不同的渐变动画效果,截图所示为静态效果,请下载后编译查看动画效果.
- 2022-01-26 00:26:26下载
- 积分:1
-
C# timer应用范例:左右飘动的窗体
C# 创建一个飘动的窗体,左右飘动,主要是对Timer的控制,基本的原理是:窗体的左上角横坐标随着timer1不断加一,窗体的左上角横坐标随着timer2不断减一,这个过程由Timer控制,因此你要写出一个循环,来控制Timer不停变化,比如timer不断加一:
Point p = new Point(this.DesktopLocation.X + 1, this.DesktopLocation.Y);
this.DesktopLocation = p;
if (p.X == 630)
{
timer1.Enabled = false;
timer2.Enabled = true;
}
以上代码的执行我们放入到private void timer1_Tick私有函数中,运行程序后即运行该函数。
- 2023-03-26 23:00:04下载
- 积分:1
-
C# 水晶报表CrystalReport导出各类型文件的例子
C# 水晶报表导出各类型文件的例子,将水晶报表数据导出为Word文件、Excel文件、HTML文件、PDF文件,并获取水晶报表的数据库连接项,设置CrystalReport水晶报表的数据库登录选项等。相关的代码片段:
private void button7_Click(object sender, EventArgs e)
{//将水晶报表数据导出为HTML文件
var MyFileName = "MyHTMLFile.htm";
var MyExportOptions = new ExportOptions();
var MyHtml32FormatOptions = new HTMLFormatOptions();
MyExportOptions.ExportFormatType = ExportFormatType.HTML32;
MyHtml32FormatOptions.HTMLBaseFolderName = "Html32Folder";
MyHtml32FormatOptions.HTMLFileName = MyFileName;
MyHtml32FormatOptions.HTMLEnableSeparatedPages = false;
MyHtml32FormatOptions.HTMLHasPageNavigator = false;
MyExportOptions.FormatOptions = MyHtml32FormatOptions;
this.CrystalReport11.Export(MyExportOptions);
MessageBox.Show("成功导出文件:" + MyFileName, "信息提示", MessageBoxButtons.OK);
}
private void button8_Click(object sender, EventArgs e)
{//将水晶报表数据导出为PDF文件
var MyFileName = "MyPDFFile.pdf";
var MyExportOptions = new ExportOptions
- 2022-04-11 03:03:59下载
- 积分:1