欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#中OpenFileDialog和PictrueBox的用法分析

程序员文章站 2024-02-23 15:02:16
本文实例讲述了c#中openfiledialog和pictruebox的用法。分享给大家供大家参考。具体用法分析如下: 先来看看这段代码: 复制代码 代码如下:stri...

本文实例讲述了c#中openfiledialog和pictruebox的用法。分享给大家供大家参考。具体用法分析如下:

先来看看这段代码:

复制代码 代码如下:
string resultfile = "";
openfiledialog openfiledialog1 = new openfiledialog();
openfiledialog1.initialdirectory = "d:\\patch";
openfiledialog1.filter = "all files (*.*)|*.*|txt files (*.txt)|*.txt";
openfiledialog1.filterindex = 2;
openfiledialog1.restoredirectory = true;
  if (openfiledialog1.showdialog() == dialogresult.ok)
     resultfile = openfiledialog1.filename;

resultfile 就能得到你选中文件的路径

openfiledialog控件有以下基本属性

initialdirectory 对话框的初始目录

filter 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*"
filterindex 在对话框中选择的文件筛选器的索引,如果选第一项就设为1
restoredirectory 控制对话框在关闭之前是否恢复当前目录
filename 第一个在对话框中显示的文件或最后一个选取的文件
title 将显示在对话框标题栏中的字符
addextension 是否自动添加默认扩展名
checkpathexists 在对话框返回之前,检查指定路径是否存在
defaultext 默认扩展名
dereferencelinks 在从对话框返回前是否取消引用快捷方式
showhelp 启用"帮助"按钮
validatenames 控制对话框检查文件名中是否不含有无效的字符或序列

怎样设置openfiledialog组件的filter,使实现一次过滤出多种扩展名的文件?

复制代码 代码如下:
dlg.filter   =   "image   files(*.bmp;*.jpg;*.gif)|*.bmp;*.jpg;*.gif|all   files   (*.*)|*.* "

第一个参数是picturebox的宽度,第二个是picturebox的高度,第三个是你的图片。这个方法可以把图片调整到合适的大小。你就不要设置sizemode的属性了,通过这个方法得到合适的图片后,设置picturebox的image属性等于这个图片,不要设置背景图。我没有测试。你自己去测试下吧,如果还是有问题,那就是图片太小了。你要重新做张图

复制代码 代码如下:
public image getnewimage(int newimgwidth, int newimgheight, image srcimage)
{
    image newimg = srcimage.getthumbnailimage(newimgwidth, newimgheight, null, new intptr());
    graphics gr = graphics.fromimage(newimg);
    gr.drawimage(newimg, 0, 0, newimg.width, newimg.height);
    gr.dispose();
    return newimg;
}

pictruebox的sizemode属性:

复制代码 代码如下:
// 摘要:
//     图像被置于 system.windows.forms.picturebox 的左上角。如果图像比包含它的   system.windows.forms.picturebox
//     大,则该图像将被剪裁掉。
normal = 0,
//
// 摘要:
//     system.windows.forms.picturebox 中的图像被拉伸或收缩,以适合 system.windows.forms.picturebox
//     的大小。
stretchimage = 1,
//
// 摘要:
//     调整 system.windows.forms.picturebox 大小,使其等于所包含的图像大小。
autosize = 2,
//
// 摘要:
//     如果 system.windows.forms.picturebox 比图像大,则图像将居中显示。如果图像比 system.windows.forms.picturebox
//     大,则图片将居于 system.windows.forms.picturebox 中心,而外边缘将被剪裁掉。
centerimage = 3,
//
// 摘要:
//     图像大小按其原有的大小比例被增加或减小。
zoom = 4,

希望本文所述对大家的c#程序设计有所帮助。