[英]How to modify a PictureBox from another class in Windows Form? C#
[英]use PictureBox from another class c#
我希望我的问题会很清楚
在 Form1.cs 中,我有一个名为:ico_ok 的图片框
我想在我建立的新班级中使用这个 PictureBox。 当我开始输入 ico 时……什么也没有出现。 在另一个类中使用这个对象的方法是什么?
这里的代码:
public void button2_Click(object sender, EventArgs e)
{
lbl_check.Visible = true;
btn_continue.Visible = false;
txtbox_cusnumber.Enabled = false;
string userID = (txtbox_cusnumber.Text.ToString());
CheckOUinADexist checkou = new CheckOUinADexist(userID);
}
之后看看新类:
namespace ChekingOUinActiveDirectory
{
class CheckOUinADexist
{
public CheckOUinADexist(string userID)
{
//this place i would like to use ico_ok
}
}
}
感谢您的帮助。 玛雅人
最简单的方法可能是为该类提供对PictureBox
的依赖:
public CheckOUinADexist(string userID, PictureBox pbox)
{
pbox.[your code]
}
然后在调用方法时提供它:
CheckOUinADexist checkou = new CheckOUinADexist(userID, ico_ok);
这是否是理想的方法取决于您将在该对象内使用该PictureBox
做什么,该对象需要跨技术平台的可移植性等。
通常,您不希望 UI 元素渗透到非 UI 逻辑中。 如果CheckOUinADexist
是一个 UI 绑定的类并且存在只是为了帮助 UI,那么这不是问题。 如果它是业务逻辑的一部分,那么您不会希望将该逻辑与 UI 技术结合起来。 相反,您可能会将PictureBox
所需的数据传递给它,而不是PictureBox
本身。
这在很大程度上取决于您在这里尝试实现的整体架构,我们不知道。
基本上你会给目标类一个对“共享数据”的引用——在这种情况下是图片框。
class CheckOUinADexist
{
PictureBox _picBox
public CheckOUinADexist(string userID, PictureBox picBox)
{
//this place i would like to use ico_ok
_picBox = picBox;
_picBox.myAction();
}
}
是否要将Picturebox
实际存储为字段(而不是仅使用参数)取决于您是否需要在实例的整个生命周期中访问该字段,或者是否仅用于对象构造。 如果你不确定,你更安全(恕我直言)只是在一个字段中存储一个引用。 使进一步使用它变得更加容易。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.