【发布时间】:2011-05-16 09:55:05
【问题描述】:
标题说明了一切。
如果有什么我可以使用的,我只是在徘徊
在vb6中,图片框可以像容器一样使用
例子。我可以将文本框的.. 命令按钮放在图片框内。
感谢任何建议..
【问题讨论】:
-
C# 是一种语言,我们需要知道您使用的是什么技术(例如 WinForms、WPF 等)来推荐最佳选择。
标签: c# containers
标题说明了一切。
如果有什么我可以使用的,我只是在徘徊
在vb6中,图片框可以像容器一样使用
例子。我可以将文本框的.. 命令按钮放在图片框内。
感谢任何建议..
【问题讨论】:
标签: c# containers
就其作为容器的使用而言,最接近 VB6 的图片框的是面板。 Vb6 面板控件不是很好,我一直使用图片框,但 C# 面板几乎为您提供了 VB6 的图片框所做的一切,包括背景图像。您的情况的主要区别是 C# 面板不允许在其上绘图。也就是说,你可以在里面放图片,但不能用Circle、Line、PSet等来画。
还请查看您的工具箱。根据您工作的环境,您可能会看到您的控件分组在“Common Controls”、“Containers”、“Components”等下。查看“Containers”下的哪些控件可以用作容器。
您还可以将其他控件用作容器,例如图片框。对于 Picturebox,您可以在运行时将其设置为控件的父级。我认为“MyControl.Parent = Picturebox1;”应该管用。但是在设计期间,您不能将控件放在图片框上以使其成为父级。
最后,您可以创建自定义控件或充当容器的用户控件。作为一个简单的示例,我将展示如何使图片框充当容器,您可以在设计时将控件拖放到该容器上。
using System.Windows.Forms;
using System.ComponentModel;
using System.ComponentModel.Design;
namespace Whatever
{
[Designer("System.Windows.Forms.Design.ParentControlDesigner, System.Design",
typeof(IDesigner))]
public class MyPicContainer : PictureBox
{
}
}
在这里,我创建了一个自定义控件,方法是创建一个继承自现有控件的类。然后我通过设置适当的属性使其表现得像一个设计时容器。我还必须添加一些用法。
现在您可以像任何其他控件一样将 MyPicContainer 粘贴在表单上。它的行为就像一个图片框,因为它是一个图片框,但同时它的行为就像任何其他容器控件一样。
但除非您想在运行时在其上绘制线条和圆圈,否则您要查找的控件是 Panel。
【讨论】: