请教C#主窗口Form1中有个webBrowserF1,如何点击子窗口Form2中的Button1,webBrowserF1转到相应Url!

 我来答
lp43185371
2012-12-28 · 超过28用户采纳过TA的回答
知道答主
回答量:94
采纳率:0%
帮助的人:69.1万
展开全部
如果点击FORM2中的BUTTON1会使form2关闭的话,倒是可以,不过你的设计到底是想实现什么功能呢?

过程如下:

在FORM1的按钮事件中打开FOMR2,并等待FORM2关闭;
Form2关闭后将一个值回传给FOrm1;
form1分析所得到的值,进行相应的动作。

代码form2:
public string str;//form2中定义一个全局变量,用于传值给form1
private void button1_Click(object sender, EventArgs e)
{
this.str="你在form2中要传给form1的内容"; //给str赋值
this.DialogResult = DialogResult.OK;//关闭form2
}

代码 form1:

private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2();
if (frm.ShowDialog() == DialogResult.OK)//打开form2等待期关闭
{
string str=frm.str;//获取form2中的变量str的值
//根据str进行操作.....
}

}
追问
功能如你所说一样,Form1 中 的 Button1 打开 Form2

然后在Form2 中有个 Button2 ,点击后,关闭掉自己Form2,并且让 Form1 中的WebBrowser转到相应网址,刚才你的代码我试了,点击后,无任何反映!
追答
如果直接贴我的代码肯定不行,因为跳转那个我刚好没写,把上面的“//根据str进行操作.....”替换成
this.webBrowser1.Navigate(frm.str); 不就行了么....
哲事姓无
2012-12-28 · TA获得超过1176个赞
知道小有建树答主
回答量:903
采纳率:100%
帮助的人:441万
展开全部
基本思路如下

1. 选择为Form1创建一个公开函数,比如名称为GotoUrl(string url)之类的,在函数内部调用webbrowser访问指定的url地址
2. 在Form2中新增一个类型为Form1 的公开属性,比如叫 BrowserForm。
3. 在From2中添加按钮的点击函数Click(***),在函数中调用BrowserForm.GotoUr(***)
4. 在Form2初始化时设置BrowserForm为Form1的对象引用。
5. 运行时点击From2中的按钮就会调用form1中的webbrowser访问指定的地址了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蓝猫叔叔Pan
2012-12-28 · TA获得超过258个赞
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:171万
展开全部
把form1里的WebBrowserF1的Modifiers属性设置为Public
新建form2的时候把 form1作为参数
然后Form2里直接调用就好了
public Form2(form1)
{
InitializeComponent();
Form1 form=form1;
}

private void button1_Click(object sender, EventArgs e)

{
from1.WebBrowserF1.Navigate("url");
}

不行就继续追问
追问
不行,我要做的是 在Form2 中有个  Button2 ,点击后,关闭掉自己Form2,并且让 Form1 中的WebBrowser转到相应网址
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhouxiang_1216
2012-12-28 · TA获得超过2591个赞
知道大有可为答主
回答量:1286
采纳率:33%
帮助的人:1375万
展开全部
这里还有一个相同的问题?我在那个问题里回答了,你看一下,试试
刚看了下,同样的问题,不同的人问的,那就再答一下:
Form1上应该有个按钮事件来打开Form2这个窗体吧,在Form1上定义一个字符串来代表你要打开的地址:
public static string CustomUrl;
通过按钮事件打开新窗体并获取地址,并转到此地址:
Form2 form=new Form2();
if(form.ShowDialog()==DialogResult.OK)
this.webBrowserF1.Navigate(CustomUrl);
Form2窗体按钮事件代码:
Form1.CustomUrl="你要打开的网址";
this.DialogResult=DialogResult.OK;
可以了,试试吧,如有疑问请追问或是Hi,希望对你有帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bxfc
2012-12-28 · TA获得超过872个赞
知道小有建树答主
回答量:1104
采纳率:0%
帮助的人:682万
展开全部
方法1:用委托
子窗体定义委托,主窗体签约委托
方法2:用对象
子窗体中包含一个主窗体对象,在创建子窗体的时候将主窗体对象传递过去,然后直接调用主窗体的某个方法或者属性

不懂的话,HI我
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式