关于winform窗体跳转的问题

两个窗体A和B,从A的两个按钮都可以跳转到B,怎么判断点了哪个按钮进入的B窗体。求详细过程代码

5个回答

A窗体
private void button2_Click(object sender, EventArgs e)
{
Common.A = "btn2";
Form2 f = new Form2();
f.Show();
}

    private void button1_Click(object sender, EventArgs e)
    {
        Common.A = "btn1";
        Form2 f = new Form2();
        f.Show();
    }
            B窗体

             private void Form2_Load(object sender, EventArgs e)
    {
        if (Common.A == "btn1")
        {
            MessageBox.Show("button1");
        }
        else
        {
            MessageBox.Show("button2");
        }
    }

            Common类
              public  class Common
{
   public static string A;
}

你可以传递一个参数啊,B收到那个不就知道哪个打开的B窗体了

怎么传。。这一块不太懂,有代码么

自己继承Form,然后重写一个构造函数,传入类型为Button,new Form的时候把按钮实例传入进去就行了

很简单,在B窗体写一个事件就可以搞定了。其实窗体之间适当的用一些事件控制,可以让逻辑和控制上更完整
A 窗体:
private void button2_Click(object sender, EventArgs e)
{
Form2 f = new Form2();
f.Loading(sender,e);
f.Show();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 f = new Form2();
f.Loading(sender,e);
f.Show();
}

窗体B:
public void Loading(object sender,EventArgs e)
{
Button bt = sender as Button;
if(bt==null)
return;
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Winform窗体跳转问题
窗体A有隐藏一部分按钮 在A窗体的Load事件中 ShowDialog()一个B窗体 ,我在点击B窗体的登录按钮时,跳回A窗体在执行A窗体中的显示按钮代码,怎么解决,求帮助
winform窗体跳转问题
winform窗体跳转的时候,任务拦怎么总是闪一下,就是从FORM1到FORM2时候会先没有,在出来 什么个情况啊
关于winform中窗体跳转的问题...
现在在一个winform窗体上有一个按钮,这个按钮。当程序运行点击这个按钮的时候可以弹出另外一个窗体,当再次点击这个按钮的时候,就要判断相对应的窗体书否是show出来的,要是已经show出来,挡在点击按钮的时候就不弹出新的窗体的。这个用代码怎么实现。
winform窗体的跳转
简单弄了俩winform窗体,其中一个加个panel,在鼠标点击事件中跳转到另外页面,然后刚开始的窗体关闭,rnrn Form2 f2 = new Form2();rn Form1 f1 = new Form1();rn f2.Show();rn f1.Close(); rn不过刚开始的窗口不关闭,也就是f1不会关闭,这是为啥捏
关于窗体跳转的问题
我做好了一个登陆窗体,想要点击注册按钮,跳转到注册窗体,请问要怎么做啊~?rn
关于WinForm窗体的问题?
作了一张图,rn如何让窗体只显示这张图片,不显示窗体的其余部分。
关于Winform窗体的问题
窗体左上角有三个小钮,关闭,最小化,最大化.rn在C#里可不可是得到这三个的对象啊,比如说象QQ那样把最大化改成"+";rn或者重写他们事件对应的方法也可以啊.rnrn
关于窗体之间跳转的问题。
我有个程序,大约有10个窗体,基本上是按照一定的流程跳转,最后返回(中间有个判断选择流程),这样的程序都是用前一个unit中uses后一个unit,然后用showmodal来跳转吗?我这样设计的,第一轮没事,第二轮就出现了读内存的问题。rn请问怎样设计多窗体跳转的程序?
关于Java窗体跳转问题
最近在用Java代码写一个用户登录并实现窗体跳转的程序,并且连接access数据库,问题是输入正确的姓名和密码都显示“用户或者密码不存在”,原代码如下:(数据库配置都是正确的)rndenglu_1.javarnrnimport java.awt.*;....rn(包部分没问题)rnrnrnpublic class denglu_1 extends JFramernrn TextField f1;rn TextField f2;rn JButton b1;rn JButton b2;rn denglu_1()rn rn Container cp=getContentPane();rn cp.setLayout(new GridLayout(4,1));rn Label l1=new Label("姓名");rn Label l2=new Label("密码");rn Panel p1=new Panel();rn Panel p2=new Panel();rn Panel p4=new Panel();rn f1=new TextField(10);rn f2=new TextField(10);rn f2.setEchoChar('*');rn b1=new JButton("登录");rn b2=new JButton("重置");rn p1.add(l1);rn p1.add(f1);rn p2.add(l2);rn p2.add(f2);rn p4.add(b1);rn p4.add(b2);rn cp.add(p1);rn cp.add(p2);rn cp.add(p4);rn b1.addActionListener(new Enter());rn b2.addActionListener(new ReWrite());rn rn public static void main(String[] args)rn denglu_1 log=new denglu_1();rn log.setTitle("系统登录");rn log.setSize(600,200);rn log.setVisible(true);rn rn class Enter implements ActionListenerrn rn public void actionPerformed(ActionEvent e)rn rn Boolean ys=false; rn if(f1.getText().trim().length()>0) rn rnrn ys=this.yanzheng(f1.getText().trim(),f2.getText().trim()); rn if(ys) rn rn setVisible(false); rn Caozuo f=new Caozuo();; rn f.setSize(500,400); rn f.setVisible(true); rn rn else rn rn JOptionPane.showMessageDialog(null,"用户或者密码不存在!"); rn rn rn public Boolean yanzheng(String id,String name) rn rn Boolean has=false;//判断用户是否存在 rn Connection con; rn Statement sql; rn ResultSet rs; rn try rn rn Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); rn rn catch(ClassNotFoundException e) rn rn try rn con=DriverManager.getConnection("jdbc:odbc:sun","xie","123"); rn sql=con.createStatement(); rn rs=sql.executeQuery("Select * FROM denglu");rn while(rs.next()) rn rn if(id.equals(rs.getString(1))&&name.equals(rs.getString(2)))rn rn has=true;rn rn rn con.close(); rn rn catch(SQLException el) rn rn return has; rn rn rn class ReWrite implements ActionListenerrn rn public void actionPerformed(ActionEvent e)rn rn f1.setText("");rn f2.setText("");rn f1.requestFocus();rn rn rn rn问题出在哪儿啊?rnrn
关于窗体之间跳转的问题
我有个程序,大约有10个窗体,基本上是按照一定的流程跳转,最后返回(中间有个判断选择流程),这样的程序都是用前一个unit中uses后一个unit,然后用showmodal来跳转吗?我这样设计的,第一轮没事,第二轮就出现了读内存的问题。rn请问怎样设计多窗体跳转的程序?
关于窗体跳转
我的窗体结构是rnrn rn rnrn当我打开top窗体中的链接add.asp,当add.asp中的onclick事件发生时,我怎样才能使middle跳转到另外一个页面
关于窗体的流程跳转。
我设计的程序,是一个流程。rn有十几个窗口按照一定的流程进行向后跳转,而且每个窗体都能返回到前一个窗体。rn有点类似于安装文件的下一步,上一步。rn这样的话,就会出现窗体循环调用的情况。rn但是据说窗体的循环调用很危险。rnrn如果遇到这种情况,大家有没有更好的办法?rn有没有关于这种按流程跳转窗体的好的设计模式?rnrnrnrn
关于winform窗体继承问题.
我们在做CS开发的时候 新建的窗体 都是宋体..有边框以及最大化最小化之类的东西..每次改的话 很费劲,,rnrn所以 我写了一个cs继承form重新里面的部分内容..这样以后在新建窗体直接继承这个cs就不用改了.rn[code=csharp]rnpublic class BaseForm : Formrn rn public BaseForm()rn rn rn protected override void OnCreateControl()rn rn this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;rn this.ShowIcon = false;rn this.MaximizeBox = false;rn this.MinimizeBox = false;rn this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;rn this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;rn this.ControlBox = false;rn base.OnCreateControl();rn rn public override System.Drawing.Font Fontrn rn getrn rn return new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));rn rn setrn rn base.Font = value;rn rn rnrn rn[/code]rnrnrn因为我不知道用哪个事件..所以随意找了一个OnCreateControl.发现还可以,能控制新窗体里面的部分东西..于是我就用了rnrn至于字体 这样也可以 或者this.font=new System.Drawing.Font也是可以..rnrn那么问题来了..rnrn新建一个form:baseform 你发现 你拖一些控件的字体 都是雅黑的...这听起来很正常.看起来也很正常.rnrn不过文本框这地方就不一样了..输入的字体还是宋体的..但是我从属性来看 他的确是雅黑(因为继承了baseForm)rnrn我调试输出rnConsole.WriteLine(textBox2.Font);rn示的也是rn[Font: Name=微软雅黑, Size=9, Units=3, GdiCharSet=134, GdiVerticalFont=False]rn也正常,不过看起来一定不是雅黑 就是宋体..rnrn这个时候 我在拖一个textbox..我在后台强制下rn[code=csharp]rntextBox2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));rn[/code]rnrnrnrn这样输入就变得正常了.是雅黑的效果..但是第一个文本框虽然集成了baseForm但是还是宋体rnrn这个时候 我又输出rnrnConsole.WriteLine(textBox1.Font);rnConsole.WriteLine(textBox2.Font);rnrn居然得到的是一样的东西rnrn[Font: Name=微软雅黑, Size=9, Units=3, GdiCharSet=134, GdiVerticalFont=False]rn[Font: Name=微软雅黑, Size=9, Units=3, GdiCharSet=134, GdiVerticalFont=False]rnrn这就奇怪了...所以一般来说 只要把form的字体设置成雅黑,窗体里面的控件不都变成雅黑的吗?rnrn如果这个答案是肯定的.那么上面的例子表明textbox不是其中.rnrn如果是否定的.那么除了textbox其他还都是雅黑..rn
[WinForm]关于透明窗体的问题
我用设置TransparencyKey的方法在16位色的状态下能正常显示透明效果,可是换成32位色却失效了rn请问各位谁有比较好的透明窗体的解决方法啊?
关于美化Winform窗体的问题
一个已经用图片拼好了的一个窗体皮肤,而且各个窗体基本事件也写好了(最大化,最小化,还有能拖动)···我用这个窗体只能在原来的基础上拉控件写事件吗?这样如果一个项目要用多个窗体,那我就崩溃了···所以我想重新生成一个一个窗体继承它,可是继承之后,窗体皮肤有那个制作的效果了,但是为什么拉控件拉不上去···就是编辑不了子窗体的··只能通过父窗体去布局窗体吗?大侠们请问这到底怎么回事?谢谢
关于winform窗体的webBrowser控件问题
项目需要!自己写了一个网站,然后写一个winform窗体专门来打开这个网站,用的webBrowser控件;然后现在的问题就是我在页面的body里已经写了onselectstart="return false",用ie游览器就不能选中文字,但是用自己写的窗体程序来打开onselectstart="return false"就好像失效了一样,能选中文字,,,,,,,,,,,,,,
请教关于Winform窗体的问题!
问题:有两个窗体,Form1作为主窗体,点击button打开Form2同时Form1不关闭。rn此时Form2为激活窗体,Form1就无法点击了!rn所以在此请问诸位大侠,怎么实现以下功能:rn点击Button打开Form2,然后Form1的button还有效,再次点击button,Form2关闭之后重新打开。rn
关于WinForm窗体退出问题
我在做一个WinForm的管理系统,我想当成功登陆后显示主窗体,然后让登陆窗体关闭.这改怎么办呀,请高手指点.谢谢了!
winform窗体跳转的效果,求样式!
渐变啊什么效果
关于winform的窗体
怎么打开新窗口的同时关闭当前窗体? 当前窗体是入口窗体,比如像登录?必须先登录才能进主窗体.rn
关于winform窗体的几个问题
遇见以下几个问题:rn1:当一个父窗体下打开了两个子窗体,两个子窗体中下都有保存按钮,按钮的快捷方式都是&S,先打开子窗体A,再打开子窗体B,焦点停留在子窗体B上,可是按ALT + S,却调用的是子窗体A的保存按钮事件,请问怎么解决。rn2:请问.NET是否有VB那样的窗体界面风格控件,不然要靠自己画窗体好麻烦,而且不想使用代码调用xp系统的风格,记得VB下有几个很好的免费控件, 只要引用后窗体会变的十分好看,.net下却找不到,请问哪有。rn
关于winform的MID窗体
我在winform的MID窗体的菜单中这样跳到新的子窗体,为何子窗体上的控件一个都看不到呢rnprivate void FileNew_Click(object sender, System.EventArgs e)rn rn rn Form FrmTest=new Form(); rn FrmTest.ShowDialog(); rn rn
关于winForm继承窗体
程序中继承父窗体后,我在子窗体随便放个控件上去,运行出错!rnrnrn未处理的“System.ArgumentException”类型的异常出现在 system.windows.forms.dll 中。rnrn其他信息: “child”不是此父级的子控件。rn
关于winform的窗体设计问题
我想做个象QQ那样的` 点下我的QQ好友 里面有 一排下来 点下QQ群`` 又有一排下来 问下 这个应该要怎么写 希望谁能给我代码啊 EMAIL xieyt520@sian.com
关于winform窗体的疑问
我的程序由4个窗体构成,rndownload.cs、serverinfo.cs、login.cs、mainfrm.csrn具体流程如下:rn程序启动后首先加载download.cs,从info.ini中获取服务器地址,然后连接数据库并下载最新的商品信息。(如果info.ini不存在则弹出serverinfo.cs窗体让用户输入服务器地址及其它信息,点击serverinfo.cs中的“保存”按钮后,退出程序,由用户重新启动程序。)下载完毕后弹出login.cs窗口,用户输入工号及密码,进入主界面进行后续工作。rnrn现在的迷惑是:rn1、因为程序首先加载的是download.cs窗体,那么,从网上搜索的结果来看,download.cs是作为主窗体的,无法使用this.close,只能使用this.hide,可我试验的结果是,this.hide并没有生效,大家帮我看看我的代码有什么问题:rn......rnif(File.Exists(fname))rnrn iniabout ia = new iniabout();rn s_ip=ia.IniReadValue("SERVER", "IPADDR", fname.ToString());rn mysocket mys = new mysocket();rnrn string ss = mys.SocketSendReceive(s_ip, 1433);rnrn if (ss == "Connection failed")rn rn //Application.Exit();//退出应用程序rn this.Hide();rn login li = new login();rn li.Show(); rn rnrnelsernrn this.Hide();rn serverinfo si = new serverinfo();rn si.Show();rnrn......rnrn2、为什么vs2005会把启动窗体作为主窗体?是我理解错了?还是别的什么,我的理解中应该是manfrm.cs作为主窗体的,现在download.cs作为了主窗体,却不能关闭,如果hide成功了的话,那么,在我程序的线程中这个窗体仍然白白占用着系统资源。这很是让我郁闷,大家关于这方面有什么好的建议没有?
关于Winform窗体
1.用什么方法可以实现 点击当前窗体而另一个窗体不会被隐藏仍会在前端显示,只是不是处于激活状态?rn2.用什么方法可以在当前窗体 关闭另一个窗体?
窗体跳转出现的问题
我有两个窗体:Form1和Form2,Form1中有个按钮打开Form2,代码如下:rn[code=csharp]rn Form2 f2 = new Form2();rn f2.Show();rn this.Hide();rn[/code]rn大家应该都知道是什么吧,但出现一个问题,在切换窗体时切换痕迹很明显(具体为:Form1慢慢向中间变小,Form2从中间慢慢变大,其实也不是很慢,但还是能看出来切换的痕迹,我用的是win7),我想让页面切换不留任何痕迹,也就是看不出来切换痕迹,对人来说点一下按钮只是窗体中的内容变了。这个可以实现吗?怎么做?
c#windows窗体跳转问题
private void button1_Click_1(object sender, EventArgs e)rn rn frmOk fo = new frmOk();rn fo.M_str_IDofHouse = this.lblHouseID.Text.Trim().ToString();rn rn fo.Show();rn this.Close();rn rnfo窗体会显示,但是这个窗体的资源已经释放了啊,fo作为局部变量应该已经被撤销了啊,请高手指点
窗体跳转问题!!
各位大哥!rn有窗体A、Brn我要实现点击A中一个button,然后跳转到B,同时关闭A窗体,要怎么弄rn如果是rna.close();b.show();那么就全部关闭了;rn如果是rnb.show();a.close();那么就都显示。。。rnrn告诉我啊!!谢谢你们
窗体的跳转问题
如何在子窗体关闭时调用之前父窗体的实例,不是new一个,而是生成子窗体之前的那个。
C#窗体跳转问题
问题是这样:我主窗体跳到一个窗体A,窗体A再跳到窗体B,在窗体B里实现一个功能是:双击事件跳到主窗体去,如果直接写show()方法就出现了两个主窗体,我想要就显示一个主窗体,有没有什么方法可以实现呢?各位高手,请赐教。。谢谢。。
窗体跳转的问题
刚学vb.net,很多问题不太明白。rn做了两个窗体,一个登陆窗体form1(用户名,密码,button登陆按钮),另一个是接受窗体form2(显示登陆成功即可),登陆窗体登陆后想让其跳转到form2里,应该如何实现呢~!如果想将用户名密码的值传递到form2里又应该如何来实现。
急!!!窗体跳转问题
小弟想先打开登录窗口,输入的信息如果与数据库中的数据相同,则跳转到主窗口,怎么做呀???(附:用 Form1 frm = new Form1();frm.Show(); 登录成功后的窗口关不掉...)
winfrom窗体跳转问题
我的意思是用窗体设计了一个登录界面,登陆的账号密码我想是通过数据库验证账号密码是否正确。点击登录就跳转到主窗体。这个怎么弄?
关于跳转其它窗体之间问题
主界面有一个treeview控件,在程序过程中有跳出新窗体设置,为什么跳出新窗体执行完并关闭窗体,不回到主界面继续执行下面的语句?rnrn Dim strConnect As String = "Data Source=" & My.Settings.DBServerName & ";Initial Catalog=" & My.Settings.DatabaseName & ";User ID=" & My.Settings.DatabaseUserID & ";Password=" & My.Settings.DatabasePwd & ";"rn Dim SQLDB As New SQLDataBase(strConnect)rn Dim strTable As New DataTablern ResetValues()rn Select Case e.ClickedItem.Textrn Case "增加公司"rn isCompanyAdd_Node = Truern Dim myF As New frmCompanyrn myF.ShowDialog() [color=#FF00FF]这儿会跳转其他窗体,回来后[/color]rnrn Case "修改公司"rn isCompanyMod_Node = Truern Dim myF As New frmCompanyrn myF.ShowDialog()rn Case "删除公司"rn 'isCompanyDel_Node = Truern '判断是否存在下级关联,删除公司rn strTable = SQLDB.ExecuteSQLToDataTable("Select * from tb_Plant where Company_ID='" & Split(SelectNodeID, "_")(1) & "'")rn If strTable.Rows.Count = 0 Thenrn SQLDB.UpdateSQL("Delete from tb_Company where Company_ID='" & Split(SelectNodeID, "_")(1) & "'")rn MsgBox("删除成功!")rn Elsern MsgBox("存在下级关联,删除失败!")rn Exit Subrn End Ifrn Case "增加工厂"rn isPlantAdd_Node = Truern Dim myF As New frmPlantrn myF.ShowDialog()rn End Selectrn LoadTreeView(TreeView1) [color=#FF0000]这个语句不被执行[/color]
C#。winform 窗体跳转,数据传输,涉及父窗体,子窗体
C#。winform 题目: 父窗体 form,子窗体 form_Child1 ,子窗体弹出对话框 dialog,子窗体form_Child2rnform_Child1 点击按键弹出一个对话框dialog,填写数据,点击确定,弹出form_Child2。rnform_Child1和form_Child2都是form的子窗体。因为要传输数据,如果单纯用dialog.result,没办法实现传递参数,该怎么实现?rn
Winform treeview 点击子节点跳转窗体弹出两个窗体
各位大大 大家好。小弟用树控件做了一个小程序。 背景 。根节点和子节点都是从数据库读出来的。然后手动添加了ClicK事件 TreeView1.AfterSelect += new .......(Click), 哎Click里面写了跳转窗体的代码 if(TreeView1.SelectedNode.Text="....")Frm f = new Frm(); f.show();这样跳转窗体会出现两个Frm窗体。如何才能让它只弹出一个窗体? 谢谢大大们。
窗体与窗体之间的跳转
窗体窗体之间的跳转窗体窗体之间的跳转窗体窗体之间的跳转窗体窗体之间的跳转窗体窗体之间的跳转窗体窗体之间的跳转窗体窗体之间的跳转窗体窗体之间的跳转窗体窗体之间的跳转窗体窗体之间的跳转窗体窗体之间的跳转窗体窗体之间的跳转窗体窗体之间的跳转窗体窗体之间的跳转窗体窗体之间的跳转窗体窗体之间的跳转窗体窗体之间的跳转窗体窗体之间的跳转窗体窗体之间的跳转窗体窗体之间的跳转窗体窗体之间的跳转窗体窗体之间的跳转窗体窗体之间的跳转窗体窗体之间的跳转窗体窗体之间的跳转窗体窗体之间的跳转窗体窗体之间的跳转窗体窗体之间的跳转窗体窗体之间的跳转窗体窗体之间的跳转
窗体跳转
同一窗体下左边是一个树状图,点击子节点,同一窗体内在右边弹出相应界面,想了几天没想出来,求源码,重谢!!rn
Winform web浏览器 跳转问题
如题,rnWinform:webbrowser控件rn我做的类似浏览器的东西rn如果是html超链接跳转我可以获取到地址并且只在web控件里显示,rn如果是flash,点击flash上面的链接地址,则直接弹出IE浏览器了,rn问题:怎么获取Flash的地址不让它弹出IE本身浏览器呢rn灌水的忽视之
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池