C# winform 能实现很炫丽的3D效果吗 比如说像魔兽这样的游戏

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# winform 能实现很炫丽的3D效果吗 比如说像魔兽这样的游戏相关的知识,希望对你有一定的参考价值。

貌似不能,不过现在的WPF是专门针对绚丽的3D效果的。 参考技术A 不能,得用WPF 参考技术B 如果要实现3D效果,则需要调用DirectX,有点游戏开发的范畴了。WPF也不过是增强表现力的一种手段。 参考技术C winform不行 但是你可以考虑用wpf

WinForm(C#)复制文件夹(文件)问题

1. 我想将 C:\abc文件夹复制到 D:\ 下面怎么办呀?麻烦高手给下代码;
2. 将C:\aa.txt 文件复制到 D:\ 下面怎么办? 这两种情况能用一个方法来解决吗? 麻烦高手告诉下,最好是代码?
成功执行绝对加分....

这是我用过的一个方法,保管好用,你直接调用就可以了!(第二个问题很简单,如一楼所言)

/// <summary>
/// 将整个文件夹复制到目标文件夹中。
/// </summary>
/// <param name="srcPath">源文件夹</param>
/// <param name="aimPath">目标文件夹</param>
/// <returns></returns>
public bool CopyDir(string srcPath, string aimPath )

try

// 检查目标目录是否以目录分割字符结束如果不是则添加之
if (aimPath[aimPath.Length - 1] != Path.DirectorySeparatorChar)
aimPath += Path.DirectorySeparatorChar;

// 判断目标目录是否存在如果不存在则新建之
if (!Directory.Exists(aimPath))
Directory.CreateDirectory(aimPath);

// 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
// 如果你指向copy目标文件下面的文件而不包含目录请使用下面的方法

string[] fileList = Directory.GetFileSystemEntries(srcPath);

// 遍历所有的文件和目录
foreach (string file in fileList)

// 先当作目录处理如果存在这个目录就递归Copy该目录下面的文件
if (Directory.Exists(file))

CopyDir(file, aimPath + Path.GetFileName(file));

// 否则直接Copy文件
else

File.Copy(file, aimPath + Path.GetFileName(file), true);



return true;

catch

return false;

参考技术A 文件复制:File.Copy(fnsrc, fndes, true);第三个参数表示是否替代同名文件;
文件夹复制可以遍历文件夹进行复制。
刚出炉,热的。。。。建立一个form,一个按钮下实现的,测试通过:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace CopyDirectory

public partial class Form1 : Form

public Form1()

InitializeComponent();


private void button1_Click(object sender, EventArgs e)

CopyDirectory("c:\\downloads","d:\\");


/// <summary>
/// 拷贝文件夹
///By Wang Hw www.pegete.com.cn
/// </summary>
/// <param name="srcdir"></param>
/// <param name="desdir"></param>
private void CopyDirectory(string srcdir, string desdir)

string folderName = srcdir.Substring(srcdir.LastIndexOf("\\")+1);

string desfolderdir = desdir +"\\"+ folderName;

if (desdir.LastIndexOf("\\") == (desdir.Length - 1))

desfolderdir = desdir + folderName;

string[] filenames = Directory.GetFileSystemEntries(srcdir);

foreach (string file in filenames)// 遍历所有的文件和目录

if (Directory.Exists(file))// 先当作目录处理如果存在这个目录就递归Copy该目录下面的文件


string currentdir = desfolderdir + "\\" + file.Substring(file.LastIndexOf("\\") + 1);
if (!Directory.Exists(currentdir))

Directory.CreateDirectory(currentdir);


CopyDirectory(file, desfolderdir);


else // 否则直接copy文件

string srcfileName = file.Substring(file.LastIndexOf("\\")+1);

srcfileName = desfolderdir + "\\" + srcfileName;

if (!Directory.Exists(desfolderdir))

Directory.CreateDirectory(desfolderdir);


File.Copy(file, srcfileName);

//foreach
//function end


本回答被提问者采纳
参考技术B 你可能要的功能都替你想到了~~
18.复制文件
//using
System.IO;
File.Copy(%%1,%%2);
13.复制文件夹
/*
using
System.IO;
using
System.Collections;
*/
string
path
=
(%%2.LastIndexOf("\\")
==
%%2.Length
-
1)
?
%%2
:
%%2+"\\";
string
parent
=
Path.GetDirectoryName(%%1);
Directory.CreateDirectory(path
+
Path.GetFileName(%%1));
%%1
=
(%%1.LastIndexOf("\\")
==
%%1.Length
-
1)
?
%%1
:
%%1
+
"\\";
DirectoryInfo
dir
=
new
DirectoryInfo(%%1);
FileSystemInfo[]
fileArr
=
dir.GetFileSystemInfos();
Queue
Folders
=
new
Queue
(dir.GetFileSystemInfos());
while
(Folders.Count>0)

FileSystemInfo
tmp
=
Folders.Dequeue();
FileInfo
f
=
tmp
as
FileInfo;
if
(f
==
null)

DirectoryInfo
d
=
tmp
as
DirectoryInfo;
Directory.CreateDirectory(d.FullName.Replace((parent.LastIndexOf("\\")
==
parent.Length
-
1)
?
parent
:
parent
+
"\\",
path));
foreach
(FileSystemInfo
fi
in
d.GetFileSystemInfos())

Folders.Enqueue(fi);


else

f.CopyTo(f.FullName.Replace(parent,
path));


14.复制目录下所有的文件夹到另一个文件夹下
/*
using
System.IO;
using
System.Collections;
*/
DirectoryInfo
d
=
new
DirectoryInfo(%%1);
foreach
(DirectoryInfo
dirs
in
d.GetDirectories())

Queue
al
=
new
Queue
(dirs.GetFileSystemInfos());
while
(al.Count
>
0)

FileSystemInfo
temp
=
al.Dequeue();
FileInfo
file
=
temp
as
FileInfo;
if
(file
==
null)

DirectoryInfo
directory
=
temp
as
DirectoryInfo;
Directory.CreateDirectory(path
+
directory.Name);
foreach
(FileSystemInfo
fsi
in
directory.GetFileSystemInfos())
al.Enqueue(fsi);

else
File.Copy(file.FullName,
path
+
file.Name);

参考技术C 你可能要的功能都替你想到了~~

18.复制文件
//using System.IO;
File.Copy(%%1,%%2);

13.复制文件夹
/*
using System.IO;
using System.Collections;
*/
string path = (%%2.LastIndexOf("\\") == %%2.Length - 1) ? %%2 : %%2+"\\";
string parent = Path.GetDirectoryName(%%1);
Directory.CreateDirectory(path + Path.GetFileName(%%1));
%%1 = (%%1.LastIndexOf("\\") == %%1.Length - 1) ? %%1 : %%1 + "\\";
DirectoryInfo dir = new DirectoryInfo(%%1);
FileSystemInfo[] fileArr = dir.GetFileSystemInfos();
Queue<FileSystemInfo> Folders = new Queue<FileSystemInfo>(dir.GetFileSystemInfos());
while (Folders.Count>0)

FileSystemInfo tmp = Folders.Dequeue();
FileInfo f = tmp as FileInfo;
if (f == null)

DirectoryInfo d = tmp as DirectoryInfo;
Directory.CreateDirectory(d.FullName.Replace((parent.LastIndexOf("\\") == parent.Length - 1) ? parent : parent + "\\", path));
foreach (FileSystemInfo fi in d.GetFileSystemInfos())

Folders.Enqueue(fi);


else

f.CopyTo(f.FullName.Replace(parent, path));



14.复制目录下所有的文件夹到另一个文件夹下
/*
using System.IO;
using System.Collections;
*/
DirectoryInfo d = new DirectoryInfo(%%1);
foreach (DirectoryInfo dirs in d.GetDirectories())

Queue<FileSystemInfo> al = new Queue<FileSystemInfo>(dirs.GetFileSystemInfos());
while (al.Count > 0)

FileSystemInfo temp = al.Dequeue();
FileInfo file = temp as FileInfo;
if (file == null)

DirectoryInfo directory = temp as DirectoryInfo;
Directory.CreateDirectory(path + directory.Name);
foreach (FileSystemInfo fsi in directory.GetFileSystemInfos())
al.Enqueue(fsi);

else
File.Copy(file.FullName, path + file.Name);

参考技术D File.Copy("C:\aa.txt","d:\aa.txt");

以上是关于C# winform 能实现很炫丽的3D效果吗 比如说像魔兽这样的游戏的主要内容,如果未能解决你的问题,请参考以下文章

C# Winform下,datagridview或者ListView能够自定义模板吗?

Unity 3D怎么与JavaScript语言结合起来实现交互效果

WinForm如何实现浮动效果%>_<%

c# wpf和winform有啥区别吗?wpf能使用串口吗

C# 能够让窗体的高度超过屏幕的最大高度吗?winform实现浏览器的效果。

C# Winform 实现Ajax效果自定义按钮