我有一个GTK C#应用程序。在长时间计算期间,需要显示进度条。我在一个新窗口中显示它。但是我不知道如何从另一个窗口访问进度条,即:主窗口。在 winforms 中,我用来将其设置为公共的访问修饰符。在Xamarin工作室的物业中,它不在那里。
myapp.Window1 w = new myapp.Window1 ();
w.Show ();
我想要这样的东西w.mycoolprogressbar
并从主窗口更新它
如果您使用 stetic 来设计对话框,那么每个容器/小部件都是私有的。
你为什么不(也许你做到了,这个问题现在已经很老了)添加一些公共方法来更新进度条?
因此,您将具有以下调用代码:
var progressDialog = new ProgressDialog();
...
progressDialog.UpdateProgress(progress);
另一方面:
public partial class ProgressDialog : Gtk.Dialog
{
...
public void UpdateProgress(double progress)
{
...
}
}