| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1480 人关注过本帖
标题:(郁闷)求 : 根据窗口名A打开A窗口的方法
只看楼主 加入收藏
freele_china
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:JiNan
等 级:版主
威 望:6
帖 子:352
专家分:0
注 册:2007-4-6
收藏
 问题点数:0 回复次数:10 
(郁闷)求 : 根据窗口名A打开A窗口的方法
//-------------------------------------------------
//--具体问题如下:
//-------------------------------------------------


ls_pgid = "W_TEST100";

然后我想通过 ls_pgid ,打开名为"W_TEST100" 这个程序,有人帮帮我吗?

真的,我初学C#1个来月,这样的问题对我来说真的有点难度
请大家看后留名,别让我苦苦再寻找答案我,这个问题我已经问过啦,没人回呀
郁闷,难道大家都不会吗?


[[italic] 本帖最后由 freele_china 于 2007-12-13 08:19 编辑 [/italic]]

Catch6(12-13-08-01-44).JPG (50.4 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 窗口 
2007-12-12 16:32
梦心
Rank: 4
来 自:福建平和
等 级:贵宾
威 望:13
帖 子:1910
专家分:0
注 册:2007-5-11
收藏
得分:0 
private bool checkChildFrmExist(string childFrmName)
        {
            foreach (Form childFrm in this.MdiParent.MdiChildren)
            {

                if (childFrm.Name == childFrmName) //用子窗体的Name进行判断,如果存在则将他激活
                {
                    if (childFrm.WindowState == FormWindowState.Minimized)
                    {
                        childFrm.WindowState = FormWindowState.Normal;
                    }
                    childFrm.Activate();
                    return true;
                }
                else
                {
                    
                }
            }
            return false;
        }


有函数调用

我清高和我骄傲的倔强,在风中大声的唱:我不听,我不听~~做我自己最特别,呼呼~~啦啦~~~
我的博客园地址: [url]http://[/url]
2007-12-12 17:50
freele_china
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:JiNan
等 级:版主
威 望:6
帖 子:352
专家分:0
注 册:2007-4-6
收藏
得分:0 
回复 2# 的帖子
我不愿意对你做出任何评价,这个是判断我要打开的程序是否已经打开,如果打开则不用打开,如果最小话,则正常显示.

通过Return的值来来判断是否需要打开,如果你不愿告诉我,你就不要来看我的贴子,谢谢
别拿我发出来的东西,呼呦我

雁过留声,人过留名
2007-12-12 18:41
abcd5200
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2007-4-18
收藏
得分:0 
问得不清不楚不明不白的..
都不知道你要干嘛..

*┊..除了睡觉..还是想睡觉..┊*
2007-12-12 19:55
天使不哭
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:677
专家分:22
注 册:2006-7-9
收藏
得分:0 
楼主态度有点问题啊

C#Winform技术群:25380362
博客:http:///boyliupan/
2007-12-12 20:50
freele_china
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:JiNan
等 级:版主
威 望:6
帖 子:352
专家分:0
注 册:2007-4-6
收藏
得分:0 
回复 5# 的帖子
不是我态度不好,他发的东西,是我之前发出去判断是否窗口已打开的.
他在我另一个贴子里也说了,他会.我说我不会,你看他跟我这个贴把我发的东西跟回来,什么意思呀.
大家都是我老师,我也是刚学C#1个来月,哪懂那么多,就多问问贝.也不能这样欺负新人呀
如果,说话有不托的地方,请梦心多多包含

[[italic] 本帖最后由 freele_china 于 2007-12-13 08:21 编辑 [/italic]]

雁过留声,人过留名
2007-12-13 08:12
freele_china
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:JiNan
等 级:版主
威 望:6
帖 子:352
专家分:0
注 册:2007-4-6
收藏
得分:0 
附图
如下是我做的TEST 程序,我想通过点击程序ID "w_tst307",弹出如图w_tst307程序
说明: CopyERP为Mdiparent ,pgMenu和 W_TST307都是普通窗口,
我想实现的是,在点击如图--1--的时候,弹出 --2 --来,并且w_tst307为CopyERP的子窗口
如代码: 
 
需要帮助的位置在黄底红字那里

 
using System;
using System.Collections.Generic;
using
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
 
namespace CopyERP
{
    public partial class PgMenu : Form
    {
        public PgMenu()
        {
            InitializeComponent();
        }
 
        //-------------------------------------------------------------------------
        //判断Child WD 是否已经打开
        //-------------------------------------------------------------------------
        private bool checkChildFrmExist(string childFrmName)
        {
            
 
            foreach (Form   childFrm    in this.MdiParent.MdiChildren)
            {
                if (childFrm.Name == childFrmName) //用子窗体的Name进行判断,如果存在则将他激活
                {
                    if (childFrm.WindowState == FormWindowState.Minimized)
                    {
                        childFrm.WindowState = FormWindowState.Normal;
                    }
 
                    childFrm.Activate();
                    return true;
                }
            }
           
            return false;
        }
 

        //-------------------------------------------------------------------------
        //PgMenu_Load载入,项目载入节点
        //-------------------------------------------------------------------------
        private void PgMenu_Load(object sender, EventArgs e)
        {
            DataRow myRow;
 

            // TODO: 这行代码将数据加载到表“dS_Load.sy010m”中。您可以根据需要移动或移除它。
            this.sy010mTableAdapter.Fill(this.dS_Load.sy010m);
 

            for (int i = 0; i < dS_Load.Tables["sy010m"].Rows.Count; i++)
            {
                myRow = dS_Load.Tables["sy010m"].Rows[i];
                string ls_module = myRow[0].ToString().Trim();
                string ls_module_f = myRow[0].ToString().Trim().Substring(0, 4);
                string ls_module_l;
                string ls_module_t;
                string ls_nm_cha = myRow[3].ToString().Trim();
 
                if (ls_module.Substring(4, 4) == "0000")
                {
                    TreeNode tn_1 = new TreeNode();
                    tn_1.Name = ls_module;
                    tn_1.Text = ls_nm_cha;
                    treeView1.Nodes.Add(tn_1);
 
                }   //if
                else
                {
                    for (int j = 0; j < treeView1.Nodes.Count; j++)
                    {
                        //MessageBox.Show(treeView1.Nodes[j].Name.ToString());
                        ls_module_t = treeView1.Nodes[j].Name.ToString().Substring(0, 4);
                        ls_module_l = treeView1.Nodes[j].Name.ToString().Substring(4, 4);
                        if (ls_module_f == ls_module_t && ls_module_l == "0000")
                        {
                            TreeNode tn_2 = new TreeNode();
                            tn_2.Name = ls_module;
                            tn_2.Text = ls_nm_cha;
                            treeView1.Nodes[j].Nodes.Add(tn_2);
                        }
                    }   //for
                }  //else
 

            }   //for
 

        }
 

        //-------------------------------------------------------------------------
        //查询节点下的程序目录
        //-------------------------------------------------------------------------
        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            string ls_name;
            ls_name = treeView1.SelectedNode.Name;
            this.sy020mTableAdapter.Fill(this.dS_Load.sy020m, ls_name);
        }
 

        //-------------------------------------------------------------------------
        //双击Dgv_menu 程序项目事件
        //-------------------------------------------------------------------------
        private void dgv_menu_CellDClick(object sender, DataGridViewCellEventArgs e)
        {
            string ls_pgid;
            ls_pgid = this.dgv_menu.CurrentRow.Cells[0].Value.ToString().Trim();
 

             //如何通过ls_pgid 来打开我想的那个程序,帮帮我  //
 
        }
 
        //-------------------------------------------------------------------------
    }
 

}

雁过留声,人过留名
2007-12-13 08:16
freele_china
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:JiNan
等 级:版主
威 望:6
帖 子:352
专家分:0
注 册:2007-4-6
收藏
得分:0 
同志们呀,我找到答案啦
并且方法有两个,哈哈
都是通过窗口名,打开的,只要知道窗口名就能打开它,有想知道的同志们
请QQ231509657,大家一起交流

雁过留声,人过留名
2007-12-19 13:53
白菜粉条
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2007-5-25
收藏
得分:0 
是不是通过反射!!!

我不是不想不郁闷,台湾问题没有解决啊!
2007-12-19 14:24
梦心
Rank: 4
来 自:福建平和
等 级:贵宾
威 望:13
帖 子:1910
专家分:0
注 册:2007-5-11
收藏
得分:0 
......
嗨~没事,多多交流哈~
都是初学者呵呵呵

我清高和我骄傲的倔强,在风中大声的唱:我不听,我不听~~做我自己最特别,呼呼~~啦啦~~~
我的博客园地址: [url]http://[/url]
2007-12-19 15:01
快速回复:(郁闷)求 : 根据窗口名A打开A窗口的方法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.043362 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved