问题描述
最近忙其他考试了小弟C#是自学的以下是今阶段遇到的问题路过的朋友帮我看下:1.[微软没提供重命名注册表项的函数说要通过先删再写的方法实现可小弟还是不是太明白]:比如把“HKEY_LOCAL_MACHINESOFTWARE3721”改成“HKEY_LOCAL_MACHINESOFTWAREgotohel”而不管其下还有什么键值全部保留原样(请您附C#code说明)2.[listview中的项按名称排序]:比如:我在程序中将我电脑上"D:音乐"下所有的音频文件名都保存到listview中的item中那么怎样实现按名称排序呢?就想你某个目录下右击鼠标都有个"排列图标"-->"名称"或者"大小","修改时间"之类的在保存到listview中时也做到按名排列要考虑中文名称的例如有两首歌:一个名称是"不.mp3",另一个名称是"啊.mp3"那么listview中items[0].text="啊.mp3";items[1].text="不.mp3";(请您附C#code说明)3.[如何判断回收站是否有东西并清空]:比如WinForm上一个Button点击一下自动判断回收站内是否有东西如果有弹出个MessageBox说发现回收站有东西问是否清空回收站如果点了"是"就自动清空回收站(和在桌面的回收站处右击"清空回收站"一样的效果)(请您附C#code说明)4.[椭圆形button的实现]:想做个个性按钮是椭圆形的功能和一般的Button一样就形状变下是否需要重写Button的哪些属性(请您附C#code说明)5.[启动Outlook并填入地址]:C#WinForm中一个Button点击一下就自动启动Outlook并在发信界面上自动填好了收件人的地址提供用户问题反馈的功能(请您附C#code说明)积累了一个月问题比较多了挑您知道的写就行了由于小弟就这么多积分了请学长们不吝赐教谢谢
解决方案
解决方案二:
关注下,一个都没有搞过
解决方案三:
好有深度还都要附上代码
解决方案四:
哎,积累了1个月,估计一天内你都全部搞完了……你就是没动手对不?
解决方案五:
#region注册表的操作///<summary>///把值写入注册表中///</summary>///<paramname="scodestr">写入的值</param>publicstaticvoidWriteToRegistry(intflag,stringscodestr){RegistryKeyregWrite=null;try{regWrite=Registry.CurrentUser.CreateSubKey(@"SoftwareItelClient");objectstrvalue=(object)scodestr;if(flag==1){regWrite.SetValue("itelname",strvalue);}else{regWrite.SetValue("isLogin",scodestr);}}catch{thrownewException("写入注册出错!");}finally{regWrite.Close();}}///<summary>///从注册表中读取值///</summary>///<returns></returns>publicstaticstringReadToRegistry(intflag){stringstr="";RegistryKeyregRead=null;try{regRead=Registry.CurrentUser.OpenSubKey(@"SoftwareItelClient",true);if(regRead!=null){objectobj=null;if(flag==1)obj=regRead.GetValue("itelname");elseobj=regRead.GetValue("isLogin");str=obj.ToString();}}catch{str="";//thrownewException("读取注册表出错!");}finally{if(regRead!=null)regRead.Close();}returnstr;}#endregion
解决方案六:
清空回收站建议看下:http://www.cn-mpa.com/stu/c/300004420/
解决方案七:
marks4:imagebutton控件,其他跟BUTTON差不多5:系统设置默认的是OE,BUTTON触发,在EMAIL里面设置好收件人地址即可其他等待高手
解决方案八:
2.Listview有排序属性sorting,可以排升序,降序,无序listView1.Sorting=SortOrder.Ascending;4.插入一张椭圆形PNG格式的图片,双击,替换另一张PNG图片privatevoidpictureBox1_Click(objectsender,EventArgse){pictureBox1.Image="2.png";}
解决方案九:
第一个RegistryKey第2个ListViewColumnSortersor=newListViewColumnSorter(e.Column);listView1.ListViewItemSorter=sor;listView1.Sorting=listView1.Sorting==SortOrder.Descending?SortOrder.Ascending:SortOrder.Descending;listView1.Sort();publicclassListViewColumnSorter:IComparer{intindex;///</summary>publicListViewColumnSorter(intx){index=x;}///<summary>///ThismethodisinheritedfromtheIComparerinterface.Itcomparesthetwoobjectspassedusingacaseinsensitivecomparison.///</summary>///<paramname="x">Firstobjecttobecompared</param>///<paramname="y">Secondobjecttobecompared</param>///<returns>Theresultofthecomparison."0"ifequal,negativeif'x'islessthan'y'andpositiveif'x'isgreaterthan'y'</returns>publicintCompare(objectx,objecty){intcompareResult;ListViewItemlistviewX,listviewY;//CasttheobjectstobecomparedtoListViewItemobjectslistviewX=(ListViewItem)x;listviewY=(ListViewItem)y;//ComparethetwoitemsreturncompareResult=-string.Compare(listviewX.SubItems[index].Text,listviewY.SubItems[index].Text);}}3.[如何判断回收站是否有东西并清空]:在C#中,回收站的操作可以通过调用Win32API来实现。以下是两个回收站操作(删除文件到回收站,以及清空回收站)的例子代码:1.把一个文件删除到RecycleBin中usingSystem.Runtime.InteropServices;privateconstintFO_DELETE=3;privateconstintFOF_SILENT=0x0004;privateconstintFOF_NOCONFIRMATION=0x0010;privateconstintFOF_ALLOWUNDO=0x0040;privateconstintFOF_NOCONFIRMMKDIR=0x0200;[StructLayout(LayoutKind.Sequential)]privatestructSHFILEOPSTRUCT{publicinthwnd;publicintwFunc;publicstringpFrom;publicstringpTo;publicintfFlags;publicboolfAnyOperationsAborted;publicinthNameMappings;publicstringlpszProgressTitle;}[DllImport("shell32.dll")]privatestaticexternintSHFileOperation(refSHFILEOPSTRUCTFileOp);///<example>///Delete("c:\test.txt",true);//把"c:/test.text"删除到回收箱///</example>privatestaticintDelete(stringsPath,boolrecycle){SHFILEOPSTRUCTFileOp=newSHFILEOPSTRUCT();FileOp.hwnd=0;FileOp.wFunc=FO_DELETE;FileOp.fFlags=0;FileOp.fFlags=FileOp.fFlags|FOF_SILENT;FileOp.fFlags=FileOp.fFlags|FOF_NOCONFIRMATION;FileOp.fFlags=FileOp.fFlags|FOF_NOCONFIRMMKDIR;if(recycle){FileOp.fFlags=FileOp.fFlags|FOF_ALLOWUNDO;}FileOp.pFrom=sPath+"";returnSHFileOperation(refFileOp);}2.清空RecycleBin[Flags()]enumSHERB{SHERB_NOCONFIRMATION=0x00000001,SHERB_NOPROGRESSUI=0x00000002,SHERB_NOSOUND=0x00000004}[DllImport("shell32.dll",CharSet=CharSet.Auto)]staticexternuintSHEmptyRecycleBin(IntPtrhwnd,stringpszRootPath,SHERBdwFlags);///<example>///Empty(@"c:");//清空C:盘的回收站///</example>privatestaticvoidEmpty(stringpath){SHEmptyRecycleBin(IntPtr.Zero,path,SHERB.SHERB_NOCONFIRMATION);}比如WinForm上一个Button点击一下自动判断回收站内是否有东西如果有弹出个MessageBox说发现回收站有东西问是否清空回收站如果点了"是"就自动清空回收站(和在桌面的回收站处右击"清空回收站"一样的效果)(请您附C#code说明)4.[椭圆形button的实现]:没有写过。。。。想做个个性按钮是椭圆形的功能和一般的Button一样就形状变下是否需要重写Button的哪些属性(请您附C#code说明)5.[启动Outlook并填入地址]:System.Diagnostics.Process.Start(@"C:ProgramFilesOutlookExpressmsimn.exe","-cIPM.Note/mmyfriend@hotmail.com&subject=Hello");C#WinForm中一个Button点击一下就自动启动Outlook并在发信界面上自动填好了收件人的地址提供用户问题反馈的功能(请您附C#code说明)