WPF获取路径解读 【源】http://www.cnblogs.com/JarviseZhou/archive/2011/07/19/2110606.html

问题环境:WPF发布程序,使用反射需要找到dll文件的路径

asp.net和WPF获取应用程序路径

stringstr6=Application.ExecutablePath;//获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。


  stringstr7=AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//获取或设置包含该应用程序的目录的名称。
  1.System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName
  获取模块的完整路径。
  2. System.Environment.CurrentDirectory
  获取和设置当前目录(该进程从中启动的目录)的完全限定目录。
  3. System.IO.Directory.GetCurrentDirectory()


  获取应用程序的当前工作目录。这个

不一定是程序从中启动的目录啊,有可能程序放在C:\www里,这个函数有可能返回C:\Documentsand Settings\ZYB\,或者C:\Program Files\Adobe\,有时不一定返回什么东东,我也搞不懂了。
  4. System.AppDomain.CurrentDomain.BaseDirectory
  获取程序的基目录。
  5.System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase
  获取和设置包括该应用程序的目录的名称。
  6. System.Windows.Forms.Application.StartupPath
  获取启动了应用程序的可执行文件的路径。效果和2、5一样。只是5返回的字符串后面多了一个"\"而已
  7. System.Windows.Forms.Application.ExecutablePath
  获取启动了应用程序的可执行文件的路径及文件名,效果和1一样。
  对于Windows程序 和Web应用程序来说,他们运行的路径是不一样的,所以关键是判断当前运行的程序是哪种程序.于是我们可以使用如下的代码 stringpath = "";
  if (System.Environment.CurrentDirectory ==appDomain.CurrentDomain.BaseDirectory)//Windows应用程序则相等
  {
  path = AppDomain.CurrentDomain.BaseDirectory;
  }
  else
  {
  path = AppDomain.CurrentDomain.BaseDirectory + "Bin\";
  }
  这样如果我们写了一个类库,类库中用到了Assembly.LoadFrom,由于是通用类库,所以可能用到Windows程序中也可能用到Web中,那么用上面的代码就很方便了.
  1、Server.MapPath
  2、System.Windows.Forms.StartupPath
  3、Type.Assembly.Location
  方法2可以应用于控制台应用程序,WinForm应用程序,Windows服务,方法1可以应用于Web应用程序,方法3都可以应用。
  但方法3是加载应用程序的路径。如果是Web应用程序,取得的路径是C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\TemporaryASP.NETFiles目录。所以Web项目还是使用Server.MapPath吧。否则建议使用方法2。如果自己新建类库。可以加入对System.Windows.Forms.StartupPath的引用后使用。
  进程对象在.NET中表现为System.Diagnostics.Process类,通过调用Process.GetCurrentProcess().MainModule.FileName可获得当前执行的exe的文件名。但是这个方法得到的仅仅是文件名,如果程序运行期间没有切换工作目录,那么可以调用System.IO.Path的方法获取绝对路径。但是当前目录同样可以通过Environment.CurrentDirectory获得,而且很多软件在使用OpenDialog打开文件的时候,都会切换工作目录,而使得这一机制失效。
  如果是在WindowsForms应用程序中,当前应用也表现为System.Windows.Forms.Application对象,通过其静态属性Application.ExecutablePath和Application.StartupPath,可以取得可执行文件的路径和启动路径。
  但如果不是在Windows应用中呢,或者是在Library中呢,就算是Application对象的属性依然能获得,也需要在工程中添加System.Windows.Forms这个Assembly的引用,非常不方便。这个时候,可以通过Assembly的静态方法,GetCallingAssembly或者GetExecutingAssembly取得当前执行的Assembly,然后通过Assembly类的Location获取assembly的位置。
  但是使用Assembly的时候,可能会遇到权限方面的问题,同时Assembly.GetCallingAssembly或者Assembly.GetExecutingAssembly有可能得到的不是.exe文件的位置。在GAC中的添加了强名的Assembly,运行时是可以不必与.exe在同一目录的。
  .NET的进程启动时,会创建AppDomain,所有的Assembly都被Load到某一个AppDomain中,而AppDomain中提供了SetupInformation属性,可以获取AppDomain启动时的一些信息,因此,可以通过调用AppDomain.CurrentDomain.SetupInformation.ApplicationBase获取当前应用程序所在的路径。
  在通过以上方法取到所需的目录后,可以调用System.IO.Path的方法获取文件名,目录名,绝对路径等。停止对路径字符串的分析,而改用System.IO.Path类吧。
  开发.NET下应用程序时,了解Process/Application->AppDomain->Assembly的关系,对于实现正确的逻辑,是非常有帮助的。

posted @ 2011-08-03 10:23 置身珠海,学习与奋斗 阅读(429) 评论(0) 编辑

原文地址:http://xbeta.info/free-wink.htm   感谢原作者

 

善用Wink,将电脑操作录屏为flash (更新图片)

Wink 是一款非常优秀的免费录屏软件,尤其适合制作计算机操作教程。它在国外备受推崇,但国内应用较少少。Wink免费、小巧(3MB)、可同期或事后加入声音、可加入暂停及跳转按钮、添加注释,并且生成的 flash 文件比其他软件小很多。本文介绍wink的基本功能,并分享笔者使用 wink 的经验。

Wink:主页主页(中文) | 官方下载

1. 什么情况下需要并选择 wink ?

简言之,Wink 并不是每个人的必需软件,它只适合“软件教程制作者”,尤其在制作以录屏、演示为主的软件教程时。
为什么要制作教程呢?因为分享知识既是一种价值,也是一项乐趣。一篇教程需要制作人投入较多精力,但可以帮助更多人解决问题、提高效率。正是”辛苦我一个,幸福更多人“。
为什么教程要录屏?这是因为对复杂的软件操作,wink 录制的 flash 不仅比“文字+截屏”更直观,还能加入注释、声音、暂停、跳转,读者非常易于解释。

在多款 免费录屏软件 中,善用佳软推崇 Wink 的主要原因是:
- 软件极小巧:安装文件不到3MB;安装后约6MB,如果除去素材、示例、语言文件的话,则体积更小。
- 完全免费:个人使用、商用均免费(freeware for business or personal use)
- 录制结果极小巧:可录制为flash,不仅方便播放,并且体积小巧——不仅比其他格式(如avi)小,并且比其他录屏软件(包括商业软件)生成的flash可以小很多。原因在于Wink支持手工关键帧录制,这样从源头做到了最高程度的精简。
- 强大的编辑功能:删除不用的帧,加按钮/注释,加录(也可同时录制)声音。

2. wink简介

类别:屏幕录制、教程制作
性质:免费软件(允许商用)、国外软件(有中文语言包,牡蛎制作)
其他:V2.0,安装文件2.8M;安装后6M(多为素材、示例、语言文件)
介绍1(华军):Wink是一款免费且内建多国语言的屏幕抓取软件。可输出成数种不同的教学文件格式。例如:Flash动画文件、EXE可运行文件、HTML网页文件、PDF文件。让大家不管是在网页或计算机上都能看到你精心制作的教学文件。如果是发布成网页模式的,更可以以JPG、PNG、GIF等图片格式来做发布,让网页开启的速度可以提升。其他更支持BMP以及TIFF图片格式,让所撷取下来的图片能有更多的用途。当然也可以让我们们的教学档看起来更专业点,除了静态的网页发布功能外,还可以发布成PDF文档档。甚至是含有动态效果的SWF动画档或是EXE可运行档。让你的教学档能更完善,也让更多人能够更容易了解教学档的内容。(善用佳软补:Wink v2.0支持录音)
Wink介绍2(官网):① 功能:免费软件、跨平台、可录音、可插入图片BMP/JPG/PNG/TIFF/GIF、多界面语言(简体中文)、多输出格式(Macromedia Flash, EXE, PDF, PostScript, HTML或图片)、基于鼠标或键盘的智能捕捉、定时捕捉、文件小质量好。② 工具:导航按钮、图标可定制、可加注释文字和图形、可拖放、导出、压缩文件到最小/不压缩则能由第三方软件编辑。

3. Wink 下载安装与基本使用教程

3.1 Wink 下载安装

关于优秀软件的下载,善用佳软的第一推荐是官方网站(而非软件下载站或某些下载工具的服务器)。原因有二:最新版(稳定,bug及时修复)、原始版(安全,未被捆绑)。  下载 Wink,请在 官方下载页面 找一个下载点。
如果官网不能访问,可在国内可信的镜像下载,比如 新浪PConline,或其他你信任的站点下载。

官方下载后得到 wink20-1060.zip,约 3.2 MB。解压得到 wink20.exe,运行即可安装。安装后占用空间约 9MB。运行安装目录的 Wink.exe,可以看到软件界面并不复杂。确实,用起来也很简单。

3.2 切换为中文界面

如果你想用中文界面,请点击菜单:File→Chose language→Simlified Chinese,然后按提示,重启Wink就行了。

3.3 按照向导进行录制

要进行录屏,就象多数软件一样,需要先“新建”一个项目。推荐使用快捷键 Ctrl+N 。也可以使用 菜单→文件→新建,或 工具栏“新建”按钮。
然后,Wink 会弹出“新项目向导”,帮你开始录屏之旅。

新项目向导-第1步

新项目向导第1步,主要是进行如下设定:
wink image
① “开始捕捉”:默认是选中的,当然要选中。
② “录音”:强烈建议不选。理由1:很多教程不需要声音,不录制声音可以极为明显的缩小生成的文件。理由2:如果需要声音,也可以在录完之后,加在每一帧上,这样一来精确,二来便于修改。
③ “隐藏wink窗口”:建议选中。具体有什么用?试一下就知道了。没错,就是把wink主窗口隐藏起来,这样便于接下来选择“录制范围”。
④ “录制范围”:可以是全屏、窗口、自定义矩形、预定义的矩形(如800x600, 400x300……)。善用佳软建议选“窗口”,然后点击“选择”按钮,移动光标,wink就可以识别窗口了。这样自动选取的窗体边缘很精确,不会带有白边,不会导致多/少几个像素。当然,选择窗口后,可以拖动绿框的四边进行手工调节;或直接修改“区域”的座标值。
⑤ “捕捉速度”:我一般用默认。实际上,这个值在“定时捕捉”状态时生效,而善用佳软认为使用wink是不应该使用这种模式的,否则就是放弃了wink的优点而用它的缺点。详见下文。
⑥ “动作捕捉”:建议最多选取“鼠标”,而不选按键。因为如果按一次键则截一次屏,尤其在输入文字时,会导致录制文件偏大。和上面一样,这个设定是“动作捕捉”时起作用的。

新项目向导-第2步

新项目向导第2步,并不需要进行任何设置,就是一个快捷键确认。这些热键是可以自定义的,方法为:菜单→文件→参数设置。

这里有三个键:
① 手工捕捉:手工按下此键,wink就捕捉一帧。这是善用佳软用得最多的一个键,也是wink精华所在。正是有了它,才使得wink录制的flash比任何软件,包括最强大的商业软件都小很多。简言之,它让用户决定什么时候才捕捉屏幕。这就是“手动档”比自动档更高效。只有这样,才能仅录制“必要”的屏幕变化,省略不必要的,实现录制文件最小化。
② 定时捕捉:按下这个键,则wink开始定时捕捉(译为自动捕捉更准确),也就是上面设定的“4帧/秒”;再按一次,则停止自动捕捉。自动捕捉是最浪费资源的方式,也是最不wink化的方式。因为无论屏幕是否变化,它都要记录一帧,相当于记录了垃圾数据。警告:这种模式运行十几分钟,就可能导致占用资源过多,计算机失去响应!所以,定时捕捉是不得已而为之,慎用,并且定时捕捉的时间尽可能短。
③ 动作捕捉:也就是说,按下此键后,wink会根据上面设定的键盘、鼠标动作,开始/停止捕捉。我录制的flash基本上只用手工捕捉,并且习惯之后,很容易判断什么时候该按下Pause键,这样形成的文件体积极小!当然,也可以用鼠标动作捕捉,再通过编辑删除多余帧。

最后,点“缩小到托盘”,wink就待命捕捉了。也就是说,根据你按下上述的三个键,进行不同的捕捉。

3.4 完成录屏

当需要的内容都录制完成后,到系统托盘点一下wink的弹出菜单,“结束捕捉”就好了(期待新版本加入快捷键支持)。接下来,就可以编辑、输出了。

4. 编辑wink录制内容

如果对录屏很有信心,或只为了自己日后参考,则可以不进行编辑。但是,如果准备将结果进行公开发布,则编辑工作和录制一样重要,甚至更重要。

4.1 编辑的目标

善用佳软看来,编辑工作有两个目标:表达更清晰;flash尽可能小。
image of wink

4.2 wink编辑的一般原则

这些内容是xbeta的经验之谈,希望大家能认真阅读,也欢迎指正补充。只有了解原则,也就是“什么情况下应该做什么”,才能“使用软件”。否则,只知道软件有什么功能,那往往是“被软件所用”。以下部分稍后完成。
4.2.1 删除多余帧,
4.2.2 让光标连贯
4.2.3 加入必要的说明
4.2.4 设定适当的延时
4.2.5 加入必要的交互
4.2.6 是否需要封面/封底?
4.3 一些技巧
透明图标
导航
复制页
继续录制

4.3 如何补充帧或合并两个项目

网友问:用了您推荐的wink录屏,感觉很不错,只是个地方很不爽,我是用的手动截屏,结束后发现某个地方少截了几次,可是没有找到补充帧或者合并两个项目的功能啊,怎么办?全部重新录制?
答:不需要从零开始重新录制。通常来说,可以新开一个Wink项目,把遗漏的帧录下来。然后,把这些帧复制(在帧列表窗口中选中,ctrl+c)到原项目的合适位置即可。Wink不能合并项目,但可通过对帧全选、复制、粘贴方法的变通处理。

5. 将录制结果输出flash

录制完成后,为了安全起见,强烈建议先把录制内容保存为.wnk源文件。一来防止数据丢失,二来便于日后再利用。软件操作过程中不断存盘,是善用佳软推荐的简易安全之道。
Wink可以把录制结果输出为flash、htm+图片、pdf等格式,但我们最常用的是输出为flash。其操作步骤如下:

【步骤1】F3:项目设置

在输出之前,首先要对当前的Wink项目进行设置。热键F3。推荐的设置内容如下图所示:
[image:Wink F3 设置]
- 输出文件名:略。
- 输出文件类型:这是一个关键点!
[image: Wink输出类型]
如果要发布在网页上,并且追求精益求精,则推荐“Flash(swf)”格式,这样在生成swf文件时,会采取wink独有的一种压缩技术,产生的swf文件体积最小。但缺点是,浏览器(或flash播放器)在判断flash尺寸时,会误判断为原尺寸的1/4。这就是为什么直接播放wink录制的flash会“缩小”的原因。正确的做法是,在html源代码中需要指明flash尺寸——看一下wink输出后的html文件,会有如下内容。其中的width="503" height="405"就是尺寸。

<EMBED SRC="pdfcreator-install.swf" WIDTH=503 HEIGHT=405 quality=low loop=false wmode=transparent TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></EMBED>

如果你不太了解html源代码,或无法进行源代码编辑(比如flash发于论坛),建议你选择“Uncompressed Macromedia Flash (*.swf)”,即未压缩的、标准的flash文件,这样体积稍大,但通用性更好。
至于生成windows可执行文件exe格式,我并不推荐。因为对方未装flash的情况极少,而exe容易引发安全问题或令对方有安全担忧。
- 其他选项,建议按上图设定。其中,选用调色板,可减小flash文件体积。

【步骤2】F7:渲染

设定完成后,就可以渲染了。渲染过程就是生成flash(以及对应的html、js文件)的过程。
如果设定了“使用调色板”,则第一次渲染时,会提示『首次渲染时,需要执行“项目 - 编辑调色板”,为输出选择调色板』。点击“确定”,会弹出“编辑调色板”对话框,点击“新建”按钮,接受默认设置(下图)即可。有了调色板后,开始渲染(如果没有自动开始,再按F7),渲染的结果是,生成了3个文件(wink v2.0 b1060):xx.htm, xx.swf, xx.js。
[image: Wink调色板]

【步骤3】F8:查看

输出结果后,你可以用浏览器查看结果,是否满意。在Wink中按F8,则可以方便地用默认浏览器打开htm,再调用swf,播放动画。通过查看,您可以发现一些不足,再返回来修改文件。

6. 技巧提示

一个好的录制作品,应体积小、解释清晰、无多余操作。以下技巧提示帮您达成目标。(本部分待扩展)

  1. 减小体积:录制时,将必要窗口尽可能拉小;删除多余的关键帧;输出flash时,用调色板功能。
  2. 控制播放时间,更易理解:某些需要注意或仔细观看的帧,加入延时(1秒)必要时加入“下一帧”按钮,让用户手工点到下一帧(相当于暂停)
    image of wink
  3. 必要时可加入文字说明(应伴以上述时间控制)。目前 Wink 的文字注释功能不支持中文自动换行。且直接编辑时需要注意半个字符的问题,但出现乱码也不用怕,按下del或backspace再删除半个字符就正常了。
  4. 关于声音:一般不建议全程录音,这样体积太大,也没必要。就算必要,也不便于编辑。如果一定要加声音,我建议录屏、优化屏幕操作后,最后配音。方法是,选中一帧,在工具栏中点击加入声音按钮,如图。这样,只有播放完声音才会切到下一帧。
  5. 重要:关于导出flash的尺寸。wink采用了特殊的压缩格式,这样文件体积较小。但副作用是播放器无法判断视频的尺寸。也就是说,如果直接打开flash文件100%显示,则实际是录屏大小的1/4,无法调整到原分辨率。因此,发布动画时,请保留生成的htm文件(或引用其代码),其中规定了原尺寸。
  6. 导出格式:除了导出flash,也可以导出为网页(html+图片,图片可指定为png/jpg等格式)、pdf。参见沧海一书生的 Wink 心得
posted @ 2011-06-06 09:46 置身珠海,学习与奋斗 阅读(133) 评论(0) 编辑

http://blog.csdn.net/fxfeixue/archive/2010/10/12/5936015.aspx

     当我们使用简体中文或繁体中文版本的 Visual Studio 2010 发布应用程序时,如果在“系统必备”对话框中选中“从与我的应用程序相同的位置下载系统必备组件”选项,并选择以下任何组件作为系统必备组件,可能会显示生成错误:

1.Microsoft .NET Framework 4(x86 和 x64) 
2.Microsoft .NET Framework 4 Client Profile(x86 和 x64) 
3.Microsoft Visual F# Runtime for .NET 2.0
4.Microsoft Visual F# Runtime for .NET 4.0

      对于“Microsoft .NET Framework 4 Client Profile(x86 和 x64)”系统必备项,系统可能会显示下面的生成错误:

“MSB3152: 系统必备的安装位置未设置为‘组件供应商的网站’,无法在磁盘上找到项‘Microsoft .NET Framework 4 Client Profile (x86 和 x64)’中的文件‘DotNetFX40Client\dotNetFx40LP_Client_x86_x64cs.exe’。 有关详细信息,请参见‘帮助’。”

      这是由于可再发行语言包的位置不正确或缺失导致的 ClickOnce 发布失败。

      下面我们就以“Microsoft .NET Framework 4 Client Profile(x86 和 x64)”为例,其它三个也需要依葫芦画瓢。另外,如果选了Microsoft .NET Framework 4(x86 和 x64),就不需要再勾选 Microsoft .NET Framework 4 Client Profile(x86 和 x64)了,它们之间应该是整体与部分的关系。

1.导航到文件夹“%ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40Client”。 对于 x64 操作系统,该路径位于 %ProgramFiles(x86)% 下。 
2.若使用的简体 VS2010,则创建新文件夹,命名为 zh-chs;若是繁体的,则新文件夹名为 zh-cht。
3.若使用的简体 VS2010,将 zh-Hans 文件夹内的文件复制到 zh-chs 文件夹内;若是繁体的,则复制 zh-Hant 文件夹内容到 zh-cht。
4.在管理员模式下打开 Package.xml。
5.若使用的简体 VS2010,找到 <String Name=”Culture”>zh-hans</String>,并将 zh-hans 改为 zh-chs;若是繁体的,则替换 zh-Hant 为 zh-cht。

      完成上面的修改后,再发布程序。OK了?那你很幸运!

      还报错,提示未能找到文件“C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40Client\cs\dotNetFx40LP_Client_x86_x64cs.exe”。

恭喜你,幸运仍然伴你左右,因为下面就有解决的办法。如果不是类似的错误,那你就要做好思想准备了,Good luck! bye bye.

      言归正传,也许你已经注意到了,在 Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40Client 文件夹中有许多文件夹,多是以简单的几个字母命名,其实他们对应各国的语言包,文章的最后列出了常见的国名与缩写对照表,cs 是指捷克,上面的错误实际是因为缺少捷克的语言包造成的(1搞不懂发布简繁体的程序为什么需要捷克的语言包)。

      接下来我们打开 cs 文件夹中的 Package.xml 文件,找到 DotNetFX40ClientLanguagePackBootstrapper 元素,其值是 http://go.microsoft.com/fwlink/?linkid=164196&amp;clcid=0x405,这就是下载捷克语言包的地址,不用试了,下不了的,微软做了处理,会自动定向下载请求者所在国家的语言包(2搞不懂,既然有了自动重定向,干吗还要提供不同的地址)。

      让我们继续吧,别再管什么语言包了,发布简繁的中文程序不需要其它国家的语言,VS 2010 要,那就给它的假的,走形势而已,把 zh-chs 文件夹里的中文语言包复制一个到 cs 文件夹,并重命名为 dotNetFx40LP_Client_x86_x64cs.exe。如果你是一个"正直的人",看不惯弄虚做假这一套,可以到这里下载正版的捷克语言包。好了,现在去发布程序,应该没什么问题了,再有问题也不是这个帖子的事了。


国家语言包与缩写对照,没什么实际用处,看看得了

阿拉伯 ar
波兰 pl
丹麦 da
德语 de
俄语 ru
法语 fr
芬兰 fi
韩语 ko
荷兰 nl
捷克 cs
挪威(博克马尔) no
葡萄牙 pt-BR
葡萄牙 pt-PT
日语 ja
瑞典 sv
土耳其 tr
西班牙 es
希伯来 he
希腊 el
匈牙利 hu
意大利 it
中文(繁) zh-Hant
中文(简) zh-Hans


posted @ 2011-06-05 12:01 置身珠海,学习与奋斗 阅读(192) 评论(0) 编辑

我的D60使用有三年了,最近在拍照时发现,反光板无法正常弹回,报错。

机器不知道还在不在保修期之内。如果不在保修期内的话,估计这个维修价格也不低,时间也不会太短。

 

解决步骤:

1.拆开D60底部的8个螺丝,注意其中有一个在电池左侧电线槽里。

2.拨动如下图所示的红色齿轮,注意不要伤着齿轮。拨动转几圈就可以了。

3.在红色大小齿轮上加点润滑油,注意多转几下,测试反光板可以正常回弹。

4.装回底盖和螺丝就OK了。

 

单反很精密,动手之前要想到最坏的后果,同时,确定自己有相关的动手能力。

 


posted @ 2011-04-16 08:41 置身珠海,学习与奋斗 阅读(116) 评论(0) 编辑

总结关键点:

1. ListBox的TextMember与ValueMember必需是属性

2.绑定对象必需继承IList

3. 绑定辅助用这个 private CurrencyManager currencyManager=null;

绑定方法用这个currencyManager = (CurrencyManager)dataGrid1.BindingContext[al];
4.一定要设DataSource属性
5.对象内容发生变化后,要及时刷新 currencyManager.Refresh();

 

 

 

转个链接: http://support.microsoft.com/kb/316303/zh-cn

分步示例

  1. 在 Visual C#.net 或 Visual C# 2005年中创建新的 Windows 应用程序项目。默认情况下创建 Form1。
  2. 将类添加到项目中。
  3. 用下列替换代码中 Class1.cs:
    public class guitar
    {
    	private string make;
    	private string model;
    	private short year;
    	
    	public guitar()
    	{
    	}
    
    	public guitar(string Make, string Model, short Year)
    	{
    	    make=Make;
    	    model=Model;
    	    year=Year;
    	}
    
    	public string Make 
    	{
    		get 
    		{ 
    			return make; 
    		}
    		set 
    		{
    			make = value; 
    		}
    	}
    	
    	public string Model 
    	{
    		get 
    		{ 
    			return model; 
    		}
    		set 
    		{
    			model = value; 
    		}
    	}
    
    	public short Year 
    	{
    		get 
    		{ 
    			return year; 
    		}
    		set 
    		{
    			year = value; 
    		}
    	}
    }
    					
  4. 关闭 Class1.cs 代码窗口,然后切换到窗体设计器。
  5. 向 Form1 中添加一个 DataGrid 控件。调整大小以适应三个行和四个列将 DataGrid 控件。
  6. 将四个 按钮 控件添加到 Form1,然后横向排列按钮。
  7. 下一处 更改 Button1 文本 属性。
  8. 更改到 前一节 的 Button2 文本 属性。
  9. 更改为 第一个 Button3 的 Text 属性。
  10. 上次 更改 Button4 的 Text 属性。
  11. 下面的代码添加到 Form1 类:
    private ArrayList al = new ArrayList();	
    private CurrencyManager currencyManager=null;	
    					
  12. 切换到窗体设计器,用鼠标右键单击该的表单,然后单击 属性
  13. 单击 事件 图标,然后双击 Load 事件将 Form1_Load 事件添加到您的代码。
  14. 将以下代码粘贴到 Form1_Load 事件中:
    al.Add (new guitar("Gibson", "Les Paul", 1958));
    al.Add (new guitar("Fender", "Jazz Bass", 1964));
    al.Add (new guitar("Guild", "Bluesbird", 1971));
    				
    currencyManager = (CurrencyManager)dataGrid1.BindingContext[al];
    	
    dataGrid1.DataSource=al;
    					
  15. 若要查看窗体设计器的开关。
  16. 双击 $ 下一步,然后将下面的代码添加到 button1_Click 事件:
    currencyManager.Position++;
    					
  17. 双击 上一步 中,然后将下面的代码添加到 button2_Click 事件:
    currencyManager.Position--;
    					
  18. 双击 第一个,然后将下面的代码添加到 button3_Click 事件:
    currencyManager.Position = 0;
    					
  19. 双击 最近,然后将下面的代码添加到 button4_Click 事件:
    currencyManager.Position = al.Count - 1;
    					
  20. 生成并运行该项目。
  21. 单击命令按钮以在 DataGrid 控件中的行之间移动。注意是否需要您可以编辑该对象的值。

 

posted @ 2011-03-31 00:05 置身珠海,学习与奋斗 阅读(183) 评论(0) 编辑