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
启用"帮助"button
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# OpenFileDialog和PictrueBox的更多相关文章
- 1、怎样设置C#OpenFileDialog(文件选择窗体)的指定路径、文件格式等属性(设置打开默认路径、文件格式、窗体显示文本)
C#的OpenFileDialog的常用属性设置 1.设置属性 1)设置弹出的指定路径(绝对路径.相等路径) 2)设置标题 3)设置文本格式 2.打开方式1(绝对路径) 2.1) 打开的路径
- Dev 关于用openFileDialog控件上传图片的问题
1. OpenFileDialog控件有以下基本属性 InitialDirectory 对话框的初始目录 Filter 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.tx ...
- C# winform OpenFileDialog MessageBox
1.弹出窗体选择本地文件-OpenFileDialog OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Tit ...
- OpenFileDialog获取文件名和文件路径问题
OpenFileDialog获取文件名和文件路径问题(转) 转自:http://blog.sina.com.cn/s/blog_7511914e0101cbjn.html System.IO.Path ...
- 使用OpenFileDialog会更改默认程序目录
这个问题可能只有在特定的程序中会发现:当我们在程序中使用相对路径时是依赖于当前目录的.所以在使用类似代码: XElement rootNode = XElement.Load(@"zips/ ...
- OpenFileDialog - 设置 - Filter 笔记
using (OpenFileDialog fileSelectDialog = new OpenFileDialog()) { fileSelectDialog.Multiselect = fals ...
- C#的OpenFileDialog和SaveFileDialog的常见用法(转)
OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.InitialDirectory = ...
- C# OpenFileDialog
OpenFileDialog 用于浏览并打开文件,在Windows Forms中使用,表现为标准的Windows对话框. 实例: 1.新建Windows Form Application 2.添加Op ...
- OpenFileDialog使用方法
OpenFileDialog基本属性 AddExtension 控制是否将扩展名自动添加到文件名上 CheckFileExists 指示用户指定不存在的文件时是否显示警告 CheckPathExist ...
随机推荐
- AngularJS自定义指令(Directives)在IE8下的一个坑
在项目中,由于要兼容到IE8,我使用1.2.8版本的angularJS.这个版本是支持自定义指令的.我打算使用自定义指令将顶部的header从其他页面分离.也就是实现在需要header的页面只用在&l ...
- Selenium2Library系列 keywords 之 _SelectElementKeywords 之 select_from_list(self, locator, *items)
def select_from_list(self, locator, *items): """Selects `*items` from list identified ...
- java 多线程同步
一.synchronized关键字 同步方法 每个对象都包含一把锁(也叫做监视器),它自动称为对象的一部分(不必为此写任何特殊的代码).调用任何synchronized方法时,对象就会被锁定,不可再调 ...
- linux modprobe.conf怎么不见了—-CentOS 6
用习惯了CentOS或RHEL的用户或许很熟悉/etc/modprobe.conf文件,系统声卡.网卡.SCSI卡的驱动类型都在这里定义,同样部分动态加载的模块的参数也可以在这个文件中定义,但是在Ce ...
- 关于python中的__new__方法
在上篇中,简单的比较了下new方法和init方法,然后结合网上的东西看了一点,发现..看书有的时候说的并不全面. __new__方法是一个类方法,主要作用是来指导如何生成类的实例, 主要用于,当需要生 ...
- 使用Python拼接多张图片
写机器学习相关博文,经常会碰到很多公式,而Latex正式编辑公式的利器.目前国内常用的博客系统,好像只有博客园支持,所以当初选择落户博客园.我现在基本都是用Latex写博文,然后要发表到博客园上与大家 ...
- Lucene 入门需要了解的东西
全文搜索引擎的原理网上大段的内容,要想深入的学习,最好的办法就是先用一下,lucene 发展比较快,下面是写第一个demo 要注意的一些事情: 1.Lucene的核心jar包,下面几个包分别位于不同 ...
- Chapter15:派生类
在C++语言中,基类将类型相关的函数与派生类不做改变直接继承的函数区别对待,对于某些函数,基类希望它的派生类各自定义适合自身的版本,此时基类就将这些函数声明为虚函数. 派生类必须将其继承而来的成员函数 ...
- WinForm 中两个窗口之间传递数据
方法有很多种,这里介绍项目中使用的两种 一.通过委托+事件的方法进行传值 (点击Form2中的button1按钮,将会把Form2中的textbox.text 传给Form1中的 lable.text ...
- eclipse gradle 自动打包
直接在eclipse项目中建立一个文件,文件名为build.gradle.其实还可以用eclipse再项目上面右击,export->Android->Generate Gradle bui ...