【问题标题】:C# FORMS, Rezising a picturebox at runtimeC# Forms,在运行时调整图片框
【发布时间】:2018-07-01 04:48:41
【问题描述】:

我正在尝试在运行时调整图片框的大小,但我发现了一些其他人已经开始工作的代码。代码来自this post,这里我也复制粘贴一下。

protected override CreateParams CreateParams {
get {
    var cp = base.CreateParams;
    cp.Style |= 0x840000;  // Turn on WS_BORDER + WS_THICKFRAME
    return cp;
}
}

根据答案,我只需将其粘贴到我的班级中,但是什么班级?我不知道在哪里粘贴它才能让我的图片框调整大小工作,并希望这里有人能澄清他的想法。

谢谢

【问题讨论】:

  • 创建一个继承自PictureBox 的新类并以这种方式覆盖它的CreatePrams。但我相信该帖子的另一种解决方案,覆盖WndProc 并处理WM_NCHITTEST 更好,正如作者(Hans)也提到的那样。
  • 进入 SizeablePictureBox。作为 OnPaint + WndProc 的替代方案。两种方式都试一下,看看你喜欢什么。
  • 所以 SizeablePictureBox 具有与普通 PictureBox 完全相同的属性,除了它可以在运行时重新调整大小?编辑:我现在已经完美地工作了,但我希望找到一种方法来移动整个图像,就像你设计表单时一样。
  • Inheritance (C# Programming Guide) 当你定义一个类从另一个类派生时,派生类会隐式获得基类的所有成员,除了它的构造函数和析构函数。
  • 我明白了。谢谢!有没有办法修改代码以包括从左下角拖动或移动整个图像?这两个工作中的任何一个。

标签: c# winforms resize


【解决方案1】:

您应该创建一个继承自 pictureBox 类的新类并在那里复制代码
然后将新创建的控件从 ToolBox 拖到窗体中,就应该这样。
如果工具箱中缺少控件,您应该重新构建您的项目。
我使用相同的代码,它运行良好:)
希望对你有帮助

【讨论】:

    猜你喜欢
    • 2014-10-05
    • 2013-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-05
    • 2017-06-18
    • 1970-01-01
    • 2017-03-18
    相关资源
    最近更新 更多