-
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# 在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# 复制和删除数据表指定行数据
C# 复制和删除数据表指定行数据,主要是完成了两项功能,删除目标数据表的选择行的整行数据,将源数据表的选择行数据复制到目标数据表,这两个功能的实现思路和代码演示如下:
private void Form1_Load(object sender, EventArgs e)
{
MySourceTable = new DataTable();
var MyConnectString=@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:Northwind.mdb";
var MySQL = "Select * From 客户";
var MyAdapter=new OleDbDataAdapter(MySQL,MyConnectString);
MyAdapter.Fill(MySourceTable);
this.DataGridView1.DataSource = MySourceTable;
MyTargetTable = MySourceTable.Clone();
this.DataGridView2.DataSource = MyTargetTable;
}
private void Button1_Click(object sender, EventArgs e)
{//将源数据表的选择行数据复制到目标数据表
var MyID= "客户ID=;
MyID = MyID + this.DataGridView1.CurrentRow.Cells[0].Value.ToString() +";
MyTargetTable.ImportRow(this.MySourceTable.Select(MyID)[0]);
}
private void Button2_Click(object sender, EventArgs e)
{//删除目标数据表的选择行的整行数据
var MyID = "客户ID=;
MyID = MyID +this.DataGridView2.CurrentRow.Cells[0].Value.ToString
- 2022-04-17 22:21:45下载
- 积分: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
-
Visual C# LINQ转换为一对多字典
Visual C# 转换为一对多字典,构造泛型列表,使用LINQ查找用户代码小于3的列表,此时的query变量的类型是IEnumerable类型,使用ToLookup方法将query转换为一对多字典类型:
ILookup userLookup = query.ToLookup(itm => itm.UserCode);
label1.Text = "ILookup的结果是:
";
foreach (var user in userLookup)//遍历查询结果
{
label1.Text += user.Key;//显示主键
label1.Text += " ";
foreach (var user2 in user)//遍历所有值
{
label1.Text += user2.UserName + " , ";//显示键值
}
label1.Text += "
";
}
- 2023-05-18 03:20:03下载
- 积分:1
-
使用C#的wpf技术生成小球动画效果
使用C#的wpf技术生成小球动画效果,主要是实现小球的移动动画,通过简单的动画,你可了解WPF的作用机理,如何用好WPF来制作更为复杂的动画效果,这个例子过于简单哦,但容易理解。
- 2022-03-22 16:47:54下载
- 积分:1
-
C# 随机抽题(抽签程序)完整源代码
一个Visual C# 开发编写的随机抽题(抽签程序)完整源代码,附有程序使用说明和抽答程序的源代码,运行程序窗体加载时隐藏组件,并加载题目,启动计时器,产生随机数,点击开始按钮则开始抽题,所有题目都已经抽完了则重新加载题库!单击停止按钮后,如果列表框中还有值则清空删除。
运行时请注意:如程序不能运行请安装“NetFx20SP1_x86.exe”,Framework2.0框架,关于使用本抽签程序:
1.将程序和题库(文本文件)放在同一目录。
2.文本文件名必须为“抽签目录.txt”
如何编辑题库?(请参照图片“题库编辑说明”)
1.奇数行为题目,偶数行为答案。
2.答案或题目编辑完后才回车。
3.不要留空行。
- 2022-03-20 13:23:15下载
- 积分:1
-
C# WPF 进度条动画实例源代码
C# WPF 进度条动画,在运行后单击“开始动画”可演示出横向的直方图动画效果,我们可以把此动画应用到C#制作的Loading加载动画中,几个直方图沿水平方向不断变长,进度不一,不多介绍了,有兴趣的下载源码吧。
- 2022-07-22 20:09:21下载
- 积分:1
-
C# 修复Access数据库的一个范例程序
C# 修复Access数据库的一个范例程序,不过不知道到底能不能修复吧,这个修复过程的编写,可参考以下代码:
//声明临时数据库的名称
string temp = DateTime.Now.Year.ToString();
temp += DateTime.Now.Month.ToString();
temp += DateTime.Now.Day.ToString();
temp += DateTime.Now.Hour.ToString();
temp += DateTime.Now.Minute.ToString();
temp += DateTime.Now.Second.ToString() + ".bak";
temp = strPathMdb.Substring(0, strPathMdb.LastIndexOf("") + 1) + temp;
//定义临时数据库的连接字符串
string temp2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + temp;
//定义目标数据库的连接字符串
string strPathMdb2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strPathMdb;
JRO.JetEngineClass jt = new JRO.JetEngineClass();//创建一个JetEngineClass对象
//使用JetEngineClass对象的CompactDatabase方法压缩修复数据库
jt.CompactDatabase(strPathMdb2, temp2);
File.Copy(temp, strPathMdb, true);//拷贝临时数据库到目标数据库(覆盖)
File.Delete(temp);//删除临时数据库
MessageBox.Show("修复完成");
这个程序中使用了三个类库:Interop.ADODB.dll、Interop.ADOX.dll、Interop.JRO.dll。
- 2022-01-26 03:31:51下载
- 积分:1
-
C#试图连接加密的Excel文件的例子
C#试图连接加密的Excel文件的例子,数据库采用Excel的数据库连接,本例子中是使用OLEDB连接对象连接Excel文件。
在正式连接之前,需要判断是否选择了Excel文件,判断是否输入了密码,然后自动组合Excel数据库连接字符串,同时程序会智能判断无密码的情况,最后使用OLEDB连接对象连接Excel文件。连接成功后显示Excel文件连接字符串。
- 2023-04-12 11:05:03下载
- 积分:1