gpt4 book ai didi

c# - 使用两种形式缩放

转载 作者:太空狗 更新时间:2023-10-30 01:07:06 25 4
gpt4 key购买 nike

我的项目中有多个表单。 Form1 包含一个显示 jpeg 的图片框。在 Form2 中,我有一个 trackBar,我想控制 Form1 中图像的缩放级别。为了简单起见,我只需要 2 或 3 个缩放级别。我已在设计器 View 中将 pictureBox 设置为公开。但是,当我尝试引用 Form2 中的 pictureBox 时,它说它不存在。下面是我用来在 Form1 中调用 Form2 的代码

Form2 dataWindow = new Form2();
dataWindow.ShowDialog();

简而言之,我需要帮助的两件事是:

1) 从单独的表单更改 pictureBox1 的属性。2) 创建一个简单的缩放公式。

最佳答案

允许其他类修改表单的内部控件被认为是糟糕的设计。表单应该负责它的所有组件。你不应该公开任何内部控制。子表单引用父表单也被认为是不好的做法。

解决此问题的适当方法是通过事件。子窗体 Form2 应该定义一个公共(public)事件:

public event Action<int> TrackBarMoved;

Form2 可以在移动轨迹条时触发该事件,并将轨迹条的位置作为参数传递(如果传递其他内容有意义,例如缩放级别,或不管你想要什么,那也没关系)。

Form1 可以在创建 From2 时订阅该事件并更改图片的缩放(在内部,从 Form1 内)基于关于轨迹栏的位置。

关于c# - 使用两种形式缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13537782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com