首页 新闻 搜索 专区 学院

(跪求)动态生成winform窗体内容

0
悬赏园豆:100 [已关闭问题]

请问大家,如何动态生成winform窗体的内容。winform的窗体内容的代码是写在一个txt文件里的。以下是小弟的代码,
如果使用下面的代码,每次有新的内容写进去了,要编译一次,再执行才会成功。也就是要运行两次才可以。我应该怎么修改呢?请各位大虾指点! 运行第一次后会出现

点是后再运行一遍才能得到想要的结果。应该怎么解决呢?
            string fName = Application.StartupPath + @"\..\..\tt1.txt";
            string fileName = Application.StartupPath + @"\..\..\testtttttttttttttttttt.cs";
            StreamReader objReader = new StreamReader(fName);

            FileInfo finfo = new FileInfo(fileName);           
            finfo.Delete();         

            /**/
            ///创建只写文件流
            using (FileStream fs = finfo.OpenWrite())
            {
                /**/
                ///根据上面创建的文件流创建写数据流
                StreamWriter w = new StreamWriter(fs);

                /**/
                ///设置写数据流的起始位置为文件流的末尾
                w.BaseStream.Seek(0, SeekOrigin.End);
                w.Write(objReader.ReadToEnd());
                objReader.Close();

                /**/
                ///清空缓冲区内容,并把缓冲区内容写入基础流
                w.Flush();

                /**/
                ///关闭写数据流
                w.Close();
            }
            testtttttttttttttttttt a = new testtttttttttttttttttt();
            a.Show();

问题补充: 我的txt里的文本是由用户拖动控件后自动生成的。这里用txt来保存代码文本时为了测试。现实中我会把整个代码放到一个XML里面,因为两者原理一样,txt比较方便,就先拿txt做测试了。
乄.菜心虫ㄣ的主页 乄.菜心虫ㄣ | 初学一级 | 园豆:100
提问于:2009-06-29 10:14
< >
分享
其他回答(3)
0

如何动态生成winform窗体的内容? 不明白你具体要实现什么, 创建窗体内容,动态添加按钮,标签还是其它什么, 这些都可以new出来, 然后摆放正确位置即可

peterzb | 园豆:861 (小虾三级) | 2009-06-29 10:47
0

你可以先做一个用户控件,在这里面实现你想要的窗体内容,然后编译为dll,再让窗体装载这个这个用户控件就可以了啊。

用户控件可以做多个,到时候看情况决定加载哪个。

斯克迪亚 | 园豆:4124 (老鸟四级) | 2009-06-29 11:12
0

cs文件当然要编译后才能运行,你的思路本身就是错的。

你可以另外一个配置文件如ini,xml什么的,保存状态信息,让winform初始化时读取参数。

那个拖拉控件就会编程的时代早就结束了。

风海迷沙 | 园豆:4453 (老鸟四级) | 2009-06-29 11:17
0

动态生成winform的过程就是动态初始化界面控件的过程。

你在txt 中储存了你要动态增加的控件的基本信息[位置、名称、类型、显示的内容。和其他控件的关系]。在初始化的时候,直接根据信息,初始化相应的控件,然后添加到界面容器上就是了啊。

拖拽的过程、你不应该在设计页面。你应该是自己写一个拖拽的页面,自己动议工具栏,仿效vs的就可以。在拖拽的事件中,根据拖拽的控件类型,初始化控件,保存的时候,就是把控件的基本信息[位置、名称、类型、显示的内容。和其他控件的关系].写到txt中去。

过程结束。

邢少 | 园豆:10926 (专家六级) | 2009-06-30 09:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册