Mar*_*hal 0 c# polymorphism inheritance winforms
我试图使用继承使用ref.class将字符串从一个表单传递到另一个表单.我看着它,说实话,我认为这应该工作.但是在调试时,我的设置textBox中没有任何内容出现...
这是我的参考类:
class Ref
{
private String _url;
public String Sett
{
set { _url = value; }
}
public String Gett
{
get { return _url; }
}
Run Code Online (Sandbox Code Playgroud)
我从主窗体设置它并从设置表单中获取它
这是我的主要表格:
private void webBrowser1_DocumentCompleted(object sender,WebBrowserDocumentCompletedEventArgs e)
{Ref reff = new Ref();
this.Text = webBrowser1.Document.Title + " - NHS Cerner Booking Dash";
textBox1.Text = webBrowser1.Document.Url.ToString();
reff.Sett = webBrowser1.Document.Url.ToString();
Run Code Online (Sandbox Code Playgroud)
最后这是我的设置表单
public void load()
{
Ref reff = new Ref();
textBox3.Text = reff.Gett;
}
Run Code Online (Sandbox Code Playgroud)
我相信这看起来有点复杂.因此,为了澄清我想从主窗体中获取URL并将其设置为我的ref.class,然后从Ref.class中获取它以将其设置为我的Settings窗体中的textBox.谢谢你的期待.
首先,这与继承无关.
不,它肯定不会起作用.您正在创建两个单独的实例Ref- 因此在其中一个中设置值将不会使其在另一个中可用.您需要创建一个实例Ref并使两个表单都知道它 - 以便它们可以将其用作共享通信通道.
就个人而言,我认为这不是表格之间沟通的最佳方式 - 例如,你应该考虑使用事件 - 但这就是为什么它现在不起作用的原因.
正如评论中所指出的,拥有两个独立的属性是非常奇怪的.如果我真的想要这种行为,我会把那个类写成:
public class MutableWrapper<T>
{
public T Value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
306 次 |
| 最近记录: |