C#中如何设置panel显示图片

C#中如何设置panel显示图片,第1张

首先要做一个随机数函数,用来返回随机数.

其次要定义一个全局变量的数组用来存储对应数字的相应图片,如Array[0]="hhwer.gif"

这个数组也可以用ImgList

控件代替.

这下基础的就做好了,用时间类Timer来控制.

设置好它的Interval属性.

点击开始则Timer.Enable=true

停止就False

在Timer的间隔到达事件中

做一个6次循环,

流程如下:

循环开始(for(var

N=0N<6N++))

获取随机数

R

修改第N个显示框的值为R

修改第N个pictureBox的图片路径=R对应的图片路径(Array[N].ToString())

循环结束

修改

摇奖结果的值

左边的图片路径存储在LeftList里面(假定存储的是图片路径),右边的图片路径存储在RightList里面。

左边PictureBox的点击事件使得LeftList指向下一个图片路径,同时将原图片路径添加到RightList中并在右边的PictureBox里面显示。

这样应该可以解决问题,具体的细节楼主可以试着写一下看看。

由于Panel采用系统支持的绘图模式, 所以你直接在上面绘图很有可能被系统重绘覆盖. 我帮你修改了绘图函数, 在Panel的BackGroundImage上绘图, 见代码:

using System

using System.Collections.Generic

using System.ComponentModel

using System.Data

using System.Drawing

using System.Text

using System.Windows.Forms

using System.Drawing.Drawing2D

namespace WindowsApplication1.els

{

public partial class els : Form

{

public Color[] mycolor = new Color[] { Color.Black, Color.Brown }

public Point mypoint

public Pen mypen = new Pen(Brushes.Black)

public els()

{

InitializeComponent()

draw()

}

void draw() //修改的绘图函数

{

Image im = new Bitmap(this.panelEx1.Width, this.panelEx1.Height)

Graphics g = Graphics.FromImage(im)

GraphicsPath gp = new GraphicsPath()

Rectangle rec = new Rectangle(new Point(30, 30), new Size(100, 30))

gp.AddRectangle(rec)

PathGradientBrush pb = new PathGradientBrush(gp)

pb.CenterColor = Color.Blue

pb.SurroundColors = mycolor

g.DrawRectangle(mypen, rec)

g.FillPath(pb, gp)

this.panelEx1.BackgroundImageLayout = ImageLayout.Stretch

this.panelEx1.BackgroundImage = im

}

}

}

已经调试通过, 希望对你有帮助.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11642564.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存