C# 中的相对路径在 Picturebox 中的应用
前言
最近的项目需要将 picturebox 显示网络图片的小功能完成,不想用绝对路径取本地文件里的图片,因为将来要发布给用户的话让用户自己配置会很麻烦的,索性将路径设置成相对路径,将图片放在自己的项目里。那么问题来了,如何用 picturebox 根据相对路径取出要显示的图片呢?
C#最常使用的相对路径是从当前程序所在路径开始相对寻径,找到要找的路径,即以下两种最简单的方式:
1. 程序根目录.(即exe程序所在路径)
//下面两个路径是等价的,都是exe程序所在路径(通常是bin\Debug\下)的Internet文件夹下的you.jpg图片
string Path1 = @".\Internet\you.jpg";
string Path2 = @"Internet\you.jpg";
2. 上级目录..
string Path3 = @"..\Internet\you.jpg"; //程序根目录的上级目录(通常是bin\下)的Internet文件夹下的you.jpg图片
string Path4 = @"..\..\Internet\you.jpg"; //程序根目录的上两级目录(通常是程序名\下)的Internet文件夹下的you.jpg图片
3. picturebox 取出对应的图片
我是放在 bin\Debug下面里面了,所有用的是第一个相对路径的方法。
picInternet.Image = Image.FromFile(@".\Internet\you.png");

显示图片成功。
4 .顺便记下 Picturebox 控件的小技巧
4.1 使加载的图片自使用控件尺寸
分别对pictureBox控件设置BackGroundImageLayout=Stretch,SizeMode=StretchImage
4.2 使Picturebox 透明
picturebox的backColor属性设置成Color.Transparent
5.安利一下下载小图标 icon 好的网址
阿里巴巴的矢量图标库 http://www.iconfont.cn。
6.遇到的小坑
代码虽少,但也有坑,下载完阿里的矢量图标之后,一般的小图标是没有颜色背景的,但是你要改成 jpg 格式或者用 windows 自带的那个画图工具打开编辑之后就会自动添加白色背景。那这样就很坑了。
解决方法:
用 windows 自带的画图3D工具打开就不会出现此现象。

C# 中的相对路径在 Picturebox 中的应用的更多相关文章
- 将Resource中的图片资源动态绑定到PictureBox中:
//CurrentCommunication为解决方案的名字,dynamic为图片的名字 pictureBox1.Image = CurrentCommunication.Properties.Res ...
- Windows文件路径转换为java中可识别的文件路径的转义方法,(另附转义多种格式)
ps:欢迎加qq好友:2318645572,交流学习 一:路径转化 Windows中的文件路径格式为 D:\eclipse\apache-tomcat-7.0.67\wtpwebapps\... Ja ...
- Android中访问sdcard路径的几种方式
以前的Android(4.1之前的版本)中,SDcard路径通过"/sdcard"或者"/mnt/sdcard"来表示,而在JellyBean(安卓4.1)系统 ...
- J2EE web项目中解决所有路径问题
Java中使用的路径,分为两种:绝对路径和相对路径.归根结底,Java本质上只能使用绝对路径来寻找资源.所有的相对路径寻找资源的方法,都不过是一些便利方法.不过是API在底层帮助我们构建了绝对路径,从 ...
- 关于struts2中的相对路径与绝对路径
从昨天开始复习了struts2的课程,之所以重新走上java的道路,是觉得写了一年的go程序,并没有感觉到学习了什么,反而把java给忘得干干净净的.想想我的计划,年后就要换工作了,至于要换到什么方向 ...
- Inno setup中定制安装路径
我的程序修改了安装界面,所以我的界面中提供了更改安装路径的方法. 用户修改后的路径会被传回inno setup脚本,脚本中需要做的事情如下: 1,写一个函数,来返回新的安装路径,如: function ...
- web项目中,视图层中关于相对路径和绝对路径
1.在jfinal项目中 因为一直使用的jfinal,没感觉路径问题. 举个栗子,项目名字叫做test.访问一个Controller的映射为/user/add.这样,在浏览器地址栏直接:localho ...
- servlet中的相对路径和绝对路径 及/, ./, ../的区别
./ 当前目录../ 父级目录/ 根目录资源寻找都是依靠路径,资源存储方式是按照哈希表运算的,所以路径的计算其实就是哈希值的计算. servlet中,所有路径的配置都要用绝对路径. 什么是绝对路径,就 ...
- java web项目中 获取resource路径下的文件路径
public GetResource{ String path = GetResource.class.getClassLoader().getResource("xx/xx.txt&quo ...
随机推荐
- javascript的函数、事件
本文内容: 函数 函数的定义方式 函数的调用方式 函数的参数 匿名函数 函数中的this 事件 常见事件 绑定事件 首发日期:2018-05-11 函数: 函数的定义方式: 函数可以有参数,参数为局部 ...
- [katalon] 页面切换
UI自动化测试过程中会涉及到需要切换多个页面, 如点击一个按钮之后跳转到新的页面, 后者A站点提交信息后,B站点审核. Katalon虽然不支持控制多个浏览器,但是支持处理tab切换. 核心方法是使用 ...
- Orchard详解--第九篇 拓展模块及引用的处理
在分析Orchard的模块加载之前,先简要说一下因为Orchard中的模块并不是都被根(启动)项目所引用的,所以当Orchard需要加载一个模块时首先需要保证该模块所依赖的其它程序集能够被找到,那么才 ...
- wamp 中安装cakephp Fatal error: You must enable the intl extension to use CakePHP. in XXX
今天在wamp下安装cakephp3.x的时候,报出这么一条错误:Fatal error: You must enable the intl extension to use CakePHP. in ...
- php学习----异常处理(接上篇)
PHP异常处理之抛出一个异常 从PHP5开始,PHP支持异常处理,异常处理是面向对象一个重要特性,PHP代码中的异常通过throw抛出,异常抛出之后,后面的代码将不会再被执行. 既然抛出异常会中断程序 ...
- 2018-10-18读文献总结之DCB码分多址、零基线、信号产生
---恢复内容开始--- 今天心血来潮,想开始把自己读文献的过程和每篇文献的收获总结一下,不知道CSDN怎么回事,一直登陆不进去,搞得我注册了一个博客园的账户,博客园新注册的还需要认证,但是很快,所以 ...
- 团队作业——Beta冲刺
团队作业--Beta冲刺 经过紧张的Alpha阶段,很多组已经从完全不熟悉语言和环境,到现在能够实现初步的功能.下一阶段即将加快编码进度,完成系统功能.强化软件工程的体会.Beta阶段的冲刺时间为期5 ...
- Windows 7 X64 SQL Server 2000 企业管理器无法建立新表
问题现象: 当建立新表时会出现一个空白的窗口,敲击键盘输入后就会出现应用出错,然后退出. 解决方案: 选中某个已经存在的表,再点右键,新建表就可以正常操作了.
- 如何在linux平台上编译安装zlib软件(公司部分线上机器缺少zlib不能安装supervisor)
文章在Centos 6.5 linux平台上演示一下如何进行编译安装zlib软件,并配置相关的选项加载使用.示范从下载到安装并配置进行使用过程一系列整套讲解,希望可以给网友考虑使用,谢谢. 工具 ...
- Mysql 数据类型 以及约束
数据类型 整型 默认有符号 无符号(unsigned) 和有符号 用 0 填充 zerofill 约束的作用: 保证数据的完整性 和一致性 tinyint[ -128 , 127 ] 小整数 无符号( ...