搜索
有爱,有技术,有你^_^)y
╱人◕‿‿◕人╲订下契约(注册新用户)

合作站点账号登陆

QQ登录

只需一步,快速开始

快捷导航
查看: 6993|回复: 48
收起左侧

简单易懂的现代魔法:C#编程教程(四) 图片与文字

[复制链接]

该用户从未签到

28

主题

103

好友

9783

积分

技术宅认证程序员

苦逼,受剥削人民

积分
9783
发表于 2012-4-18 13:13:40 | 显示全部楼层 |阅读模式

╱人◕‿‿◕人╲定下契约

您需要 登录 才可以下载或查看,没有账号?╱人◕‿‿◕人╲订下契约(注册新用户)

x
本帖最后由 秋声赋 于 2012-4-18 13:15 编辑

简单易懂的现代魔法:C#编程教程(四)


                                                                                                           图片与文字

上次介绍了控件和事件的概念,并通过使用按钮控件加深了了解.

这次我们要学会怎么在程序中显示图片和文字.

同样的,一般情况下显示图片和文字都是通过控件完成.

图片是(PictureBox控件),文字是(Label控件)



首先介绍PictureBox控件

还是新建一个WinForm工程,并在工具栏中找到PictureBox控件,把他拖到窗口上.


                               
登录/注册后可看大图



                               
登录/注册后可看大图


这时候PictureBox控件是没有图像的,同样的,我们先来看下PictureBox控件的属性.


                               
登录/注册后可看大图


发现这个Image属性就是指定显示哪个图像.点开后面的按钮,进入选择图片的界面.


                               
登录/注册后可看大图


我们选择上面的本地资源,点击导入.然后选择一个图片,点击确定.

就能发现现在PictureBox控件里面显示了我们选择的那张图片了.


                               
登录/注册后可看大图


但是你可能会发现,这张图片显示的并不完全,

是因为PictureBox控件默认的显示模式是平铺的,所以图片比控件大的时候就只会显示一部分.

我们来修改Picture控件的SizeMode属性Zoom(应该是对应的设置桌面时候的 适应)


                               
登录/注册后可看大图

然后就可以发现图片显示正常了,当然我们可以根据实际的需要来调整SizeMode.


                               
登录/注册后可看大图


可能你会问,一个Galgame不可能从头到尾就一张图片吧?

要怎么在不同的时候显示多张图片?

不可能放很多的PictureBox控件吧

这里你就要记住一点,所有在属性栏里面能修改的属性都是可以在程序中修改的.

让我们先看一下怎么在代码中为PictureBox控件指定显示的图片.

在我们的窗体上在拖出一个按钮(Button)控件,并为他的Click事件添加响应函数.

我们这里要用到一个新的类,Bitmap,他封装了一个位图(或者说代表了一个位图.位图是啥?可以理解为图片,详细的自己去百度吧).

Bitmap是个很方便的类,在定义的时候我们只要在构造函数里面指定图片的文件路径就可以自动读取图片了.如下所示:


                               
登录/注册后可看大图


Bitmap 图片1 = new Bitmap(@"D:\动漫杂项\图包(秋之回忆)\秋之回忆1-7全CG\秋之回忆雨后Vol3卒业cg\01-02:上面没有啦!.jpg");

这时候,图片1这个变量就代表了上面文件路径所指定的图片.

(这里注意文件路径前面有个@,这表示我们不需要在这个字符串里面用转义字符.什么是转义字符?

一些用\+字母表示的字符,例如\n就表示换行,\t表示制表符,因为我们这里不需要这些,但是文件路径里面又有\,所以要在前面加个@).

然后就是修改PictureBox控件(这里对应的变量是pictureBox1)Image属性,直接赋值即可.


                               
登录/注册后可看大图

[mw_shl_code=csharp,true] pictureBox1.Image = 图片1;[/mw_shl_code]

运行程序,单击下按钮,就会发现图片变成了我们指定的图片.

                               
登录/注册后可看大图


可以看出C#里面显示图片还是很简单的吧?


接下来是文字,相对于图片,显示文字就简单多了.

首先在窗体中拖入一个Label控件,


                               
登录/注册后可看大图



                               
登录/注册后可看大图


这里我们发现Label控件是不能修改大小的,要修改大小就需要修改他显示的文字的字体.


                               
登录/注册后可看大图


修改成自己喜欢的,然后看到下面这个Text属性,这里就是我们要显示的文字.


                               
登录/注册后可看大图


修改下.我们就能从窗口看到效果.


                               
登录/注册后可看大图


同样的,我们也能在代码中改变这些文字.


                               
登录/注册后可看大图


label1.Text = "真心跪求,104228916@qq.com";


运行,单击按钮后效果如下:


                               
登录/注册后可看大图





上面就是这次的内容.

这次学习了用PictureBox控件和Label控件显示图片和文字.

作业:
1.      当鼠标点击PictureBox控件是时候切换图片,一共要有5张,并且是循环播放的,例如第5张显示出来后,再点击就显示第一张.
2.      尝试用OpenFileDialog控件做一个简单的图片查看器.


                               
登录/注册后可看大图

OpenFileDialog op = new OpenFileDialog();
op.ShowDialog();

这之后, op.FileName里面就代表了用户选择的图片的路径.

评分

参与人数 7宅魂 +13 宅币 +116 贡献 +9 元气(技能点) +2 收起 理由
lq36821 + 1 + 2 Σ( ° △ °|||)︴ 碉堡了
风吹蛋蛋凉 + 1 + 2 o(* ̄▽ ̄*)ブ 发糖
778899fbi + 1 + 2 真心想做作业但是真心没能力= =我是连基础.
Sonivy.Ray + 5 + 20 Σ( ° △ °|||)︴ 碉堡了
风音洛洛 + 20 + 2 + 1 Σ( ° △ °|||)︴ 碉堡了
EricHo + 5 + 20 Σ( ° △ °|||)︴ 碉堡了
hcl + 50 + 7 + 1 o(* ̄▽ ̄*)ブ 发糖

查看全部评分

签名被小宅喵吞掉了~~~~(>_<)~~~~
回复

使用道具 举报

该用户从未签到

0

主题

0

好友

1万

积分

第一章

积分
13172
发表于 2012-4-18 13:28:45 | 显示全部楼层
本帖最后由 K酱 于 2012-11-22 20:28 编辑

应该是沙发的样子=3=

第二次看,第一次只是扫了眼= =

有点眉目了


看了一遍入门后再回来看终于明白了,可喜可贺可喜可贺
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

4

好友

558

积分

New Game

积分
558
发表于 2012-4-18 14:06:16 | 显示全部楼层
本帖最后由 小收 于 2012-4-18 14:18 编辑

我来回答问题啦,第一题:
        List<string> lstImgPath = new List<string>();
        int ImgIndex = 0;
        private void Form1_Load(object sender, EventArgs e)
        {
            lstImgPath.Add(@"D:\图片 001.jpg");
            lstImgPath.Add(@"D:\图片 002.jpg");
        }

        private void pictureBox1_Click(object sender, EventArgs e)
        {
            ImgIndex = ImgIndex >= lstImgPath.Count - 1 ? 0 : ImgIndex + 1;
            pictureBox1.ImageLocation = lstImgPath[ImgIndex];
        }

貌似用ImageList可能会更好些
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

4

好友

558

积分

New Game

积分
558
发表于 2012-4-18 14:10:36 | 显示全部楼层
OpenFileDialog opd = new OpenFileDialog();
if (opd.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
    pictureBox1.ImageLocation = opd.FileName;
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

8

主题

11

好友

3239

积分

序章

积分
3239
发表于 2012-4-18 22:44:29 | 显示全部楼层
支持萌图片编程~Good H~
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

签到天数: 3 天

连续签到: 1 天

[LV.2]偶尔看看I

21

主题

75

好友

1万

积分

第一章

积分
16005
发表于 2012-4-19 17:12:13 | 显示全部楼层
赞一个
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

271

主题

306

好友

11万

积分

最终章

积分
113880
发表于 2012-4-19 18:23:07 | 显示全部楼层
yoooooooooooo~前排占位
回复 支持 反对

使用道具 举报

签到天数: 1 天

连续签到: 1 天

[LV.1]初来乍到

1

主题

6

好友

4435

积分

懒人

积分
4435
发表于 2012-4-19 21:02:54 | 显示全部楼层
前排~~~
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

4

好友

558

积分

New Game

积分
558
发表于 2012-4-19 22:36:27 | 显示全部楼层
来捧场啦!!!!!!!
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

92

主题

94

好友

2万

积分

第一章

积分
24727
发表于 2012-4-20 09:44:56 | 显示全部楼层
Mark一下

最近考试

前两课还没看呢= =
请叫我字母菌
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

8

好友

6606

积分

序章

积分
6606
发表于 2012-4-21 07:27:17 | 显示全部楼层
求求你变量不要用中文…………=407=
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

13

好友

1万

积分

第一章

积分
15195
发表于 2012-4-26 01:09:32 | 显示全部楼层
本帖最后由 薛丁格的懒猫 于 2012-4-26 01:50 编辑

支持秋老师~

额。。。 我刚学完了C语言
如果现在想继续自学好C#
可不可以推荐一下教材? 例如出版社或作者之类的
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

28

主题

103

好友

9783

积分

技术宅认证程序员

苦逼,受剥削人民

积分
9783
 楼主| 发表于 2012-4-26 09:45:26 | 显示全部楼层
薛丁格的懒猫 发表于 2012-4-26 01:09
支持秋老师~

额。。。 我刚学完了C语言

<C#入门经典>(第五版)    清华大学出版社
如果你认为你的基础不错  就可以看<C#高级编程>(第七版)  清华大学出版社
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

28

好友

764

积分

Continue

积分
764
发表于 2012-4-27 00:06:26 | 显示全部楼层
哎呦不错 =15=
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

13

好友

1万

积分

第一章

积分
15195
发表于 2012-4-27 17:52:45 | 显示全部楼层
秋声赋 发表于 2012-4-26 09:45
(第五版)    清华大学出版社
如果你认为你的基础不错  就可以看(第七版)  清华大学出版社 ...

#7147!谢谢了~
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

本版积分规则

小黑屋|手机版|技术宅(Z站|基宅) ( 粤ICP备18082987号-1 )

GMT+8, 2025-5-10 09:53 , Processed in 0.194495 second(s), 41 queries , Redis On.

Copyright © 2018 技术宅社区

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表