【问题标题】:Custom PictureBox with the title above上面标题的自定义图片框
【发布时间】:2012-02-07 07:52:10
【问题描述】:

我找不到在其上方绘制带有图像和文本的自定义控件的方法,因此我可以将其用作拖放对象。文本和图像路径都是从 XML 文件中获取的。我尝试使用可以扩展 PictureBox 的自定义类,但做不到。图片很小(平均 65x55 像素),但有时标题可能很长,所以我通常以仅部分绘制的文本结尾。帮助任何人?

【问题讨论】:

  • 你说的是winforms吗?如果是这样,我建议你添加一个 winforms 标签。
  • 在标题大小扩展图像大小的情况下,如上所述,您的自定义 PictureBox 的期望行为是什么?将其放大以适合标题,然后将图像居中放置在其下方?使标题多行,增加高度?

标签: c# controls picturebox


【解决方案1】:

也许考虑为此制作一个自定义控件。使用图片框和标签制作自定义控件。

【讨论】:

    【解决方案2】:

    尝试制作一个用户控件!它就像一块可重复使用的房地产。在 UserControl 中放置一个 PictureBox 和一个标签。您可以在 Visual Studio GUI 中正确执行此操作。然后查找拖放教程并将这些事件添加到 UserControl。

    【讨论】:

    • 好的,我已经创建了一个用户控件,下面有一个标签和图片框。现在,当我将此控件动态添加到拖放面板时,所有事件处理程序都停止工作并且没有触发。
    • 我希望你的意思是你创建了一个带有标签和图片框的用户控件inside。这就是 UserControls - 一种可重复使用的表单。如果是这种情况,请在 UserControl 上设置拖放事件。这是一个教程:codeproject.com/KB/cs/dandtutorial.aspx。在这些事件中,您将为 Label 分配文本,为 PictureBox 分配图像。
    • 问题是我尝试在添加的 UserControl 上附加事件侦听器,但所有事件都不起作用(未触发)
    • 你在看教程吗?这是 verbatim 包括将拖放事件添加到 UserControl:codeproject.com/KB/miscctrl/UserControlDragDrop.aspx。但请记住,这可能不是您想要的。您确实想让您的 UserControl 拦截事件。请记住将 AllowDrop 设置为 true。
    猜你喜欢
    • 2016-01-02
    • 1970-01-01
    • 2016-04-10
    • 2018-08-12
    • 1970-01-01
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多