1. c# 怎么样创建一个picturebox控件,就是动态生成许多picturebox控件
首先,你需要清楚的是在C#里面是以类为基础的。差不多所有的东西都是封装在类里面的。所以说,如果你要完成一些操作,你可以将其当作普通的类来处理。。比如说你要生成许多的picturebox。那么你只需要用picturebox的类名来进行处理就可以了。用new来实现。
至于你说的动态生成它的name,location,locked,size属性的话,你可能就需要一些外部的变量来进行更改了。name的话,比较简单,就是什么picturebox1,2之类的。
在下补充一下,通常这种情况呢,类似于QQ表情选择面板一样,是吧.
那你用 FlowPanel 流布局面板 做为窗口来装所有动态生成的PictureBox即可.
2. C# 动态生成PICTUREBOX的问题
GetFiles()是获得该文件夹下的所有文件,包括飞图片格式的文件,所以得到的文件有可能不是图片格式,故Image.FromFile(k)加载会报错,
当报错的时候,你检查一下k的值,看看k到底是不是图片路径,或者直接加断点调试,
解决办法很多,你可以先判断一下文件是否是图片格式,或者直接在循环里面加一个try,
ps:一般图片文件夹都会包含一个“Thumbs.db”这个文件,这是个隐藏文件,记录图片缩略图的缓存,所以Image.FromFile(k)加载到这个文件肯定会报错,
3. C# 如何用数组在12个picturebox中随机产生12个不同的图片?希望代码详细一点,答案好会加分。
若干图片名分别存在数组中,用random(0,数组最大下标)函数随机整数作为要取得数组下标,下标保存在另一个数组B中,执行下一次random,和数组B对比,若已存在于B中则继续random,否则赋予picturebox图片地址。循环赋值12次即可。
4. 用代码实现C++动态创建数组,并返回该数组,用函数实现
int * fun(int n)
{
int *array = new int[n];
return array;
}
//注意这样写不好,动态申明内存后,array数组得不到释放
5. 如何动态创建picturebox?
看来你没有学到“对象变量”这节的内容。你这样是定义了一个picturebox类型的对象变量,就像dim aa as integer 一样,因此你的xx还是空值,你必须给他赋值才能使用,如:
dim xx as picturebox
set xx=picture1
这样你改变xx的属性就等于改变picture1的属性,这样不是动态创建的picturebox
要动态的创建picturebox就要像ljl88900说的那样:
Set xx = Me.Controls.Add("VB.PictureBox", "xx")
然后再设置其属性!!
不想让它在窗体上的话,最后加一句:
Controls.Remove xx
6. C#如何动态的生成多个pictureBox控件,生成的pictureBox能实现不同的点击事件?
private int _NO = 0; public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { int x = 0; int y = _NO * 100; CreatePictureBox(_NO.ToString(), x, y); ++_NO; } private bool CreatePictureBox(string name, int locX, int locY) { try { PictureBox pb = new PictureBox(); pb.Name = name; pb.Location = new Point(locX, locY); pb.BackColor = Color.LightBlue; this.Controls.Add(pb); pb.Click += new EventHandler(PictureBox_Click); return true; } catch { return false; } } private void PictureBox_Click(object sender, EventArgs e) { PictureBox pb = (PictureBox)sender; MessageBox.Show(pb.Name); }
7. C# PICTUREBOX数组问题
如果你的期盼格子线是直接画在form上,有人喜欢放到一个picturebox上,我们管这个form,或者picturebox叫做“父控件”。下面以form为例。
1、在父控件上放一个(绘制)picturebox(也可以用image,下面以picturebox为例);(绘制或放好,不要做其他任何事情,立即开始下一步;如果做了别的,就在开始下一步之前,先选中这个picturebox)
2、按下键盘的ctrl-c(两键联合),这时,form成为选中控件,如果以picturebox为父控件,则需要选中父控件;
3、按下ctrl-v(两键联合)。如果前面的操作都正确,此时会出现提示:
“picture1已存在,是否要建立控件数组”,点确定。
4、在form_load事件中写代码:
for i=0 to 127
if i>1 then
load picture1(i)
else
picture1(i).visual=false
endif
picture1(i).move 左边,上边,宽度,高度
next i
8. C#如何将picturebox中的显示的图片转换成二进制的数组
没装VS2005,我手写给你思路
MemoryStream ms = new MemoryStream();
// 重要!!保存成文件流
pictureBox1.Image.Save("a.bmp");
FileStream fileStream = new FileStream("a.bmp", FileMode.Open, FileAccess.Read);
BinaryReader binaryReader = new BinaryReader(fileStream);
byte[] img = binaryReader.ReadBytes((int)fileStream.Length);
binaryReader.Close();
fileStream.Close();
File.Delete("a.bmp");
// 好了 这个img 就是你要的