新手求教:有没有前辈用C#开发过这样的启动窗体?

helong1011 2010-06-25 02:49:52
1、有Form1、Form2、Form3三个窗体、一个sysconfig.ini文件以及一个数据库连接类LinkDataBase.cs。其中INI文件存放数据库连接设置;
2、当主窗体Form2启动前,先启动欢迎及登录窗体Form1,在Form1启动时判断远程SQL数据库是否连接,如果连接正常即弹出用户登录界面,如果数据库连接不正常即弹出数据库连接设置的窗体Form3让用户自己设置远程SQL数据库的IP地址及登录用户名、密码,如果设置成功即将远程SQL数据库的IP地址及登录用户名、密码存入sysconfig.ini文件中。

请问我这种方式是否可行?有没有更好更贴近用户的方法?如何实现?

请各位前辈不吝赐教!!(有代码可供研究就更好啦!)

...全文
179 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
helong1011 2010-07-01
  • 打赏
  • 举报
回复
谢谢各位前辈指导,我是初学者,分不多,不够分,对不起各位啦!
要是有关于启动界面线程方面的代码可供研究学习的话就更好啦。

特别 2010-06-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 libinguest 的回复:]

方法可行,可以写代码了。
[/Quote]
+1

代码自己写
zhanggd614 2010-06-26
  • 打赏
  • 举报
回复
运行主窗体
在主窗体的构造函数中
public A()
{
这个位置调用启动窗体
InitializeComponent();
}
在启动窗体中建立一个静态函数
public static void Begin()
{
frm fs = new frm();//重新实例化一个本身
Thread fsThread = new System.Threading.Thread(new ThreadStart(fs.showDialog));
fsThread.Start();
Thread.Sleep(1000);
}

private void showDialog()
{
this.ShowDialog();
}
其实这个写在那 都行
至于关闭启动窗体 你可以加个时间控件来控制
我的一个做法
jshi123 2010-06-26
  • 打赏
  • 举报
回复
不应该在“欢迎光临”窗体中进行判断,最好是设计一个“系统初始化设置”窗体,在这个窗体中做这些事情,“初始化设置”窗体一次性使用(或可以由“系统选项设置”中的某项功能调出),设置完成后在系统配置文件中作标记,以后再启动就跳过初始化设置,这样UE好些
jianuMan 2010-06-26
  • 打赏
  • 举报
回复
using System;
using System.Windows.Forms;

namespace WindowsFormsApplication11
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form1 form1 = new Form1();
/// 如果SQL能连接form1返回DialogResult。OK
if (form1.ShowDialog() == DialogResult.OK)
{
Form2 form2 = new Form2();
form2.ShowDialog();
}
else
{
Form3 form3 = new Form3();
form3.ShowDialog();
}
}
}
}
myrroom 2010-06-25
  • 打赏
  • 举报
回复
如果测试连接数据库最好不要占用界面线程,那会造成界面一段时间无法响应,严重影响用户体验

可以用一个后台线程来测试访问数据库
zhanggd614 2010-06-25
  • 打赏
  • 举报
回复
楼主这样可以实现 代码也比较简单
我再说下 如果
数据库连接在其他线程中,不出错的话
用线程做启动画面比较好(个人认为)
wuyq11 2010-06-25
  • 打赏
  • 举报
回复
在LOAD中实现窗体的hide和show
xy325432 2010-06-25
  • 打赏
  • 举报
回复
思路可行,向下写代码吧
ghost281536992 2010-06-25
  • 打赏
  • 举报
回复
个人感觉你这个方法已经很不错了。连接数据库的函数带一个bool返回值,true则弹出form2,false则弹出form3让用户自己设置,设置完毕后再连数据库,而且你两次连接数据库可以用同一函数,T-SQL带参数实现即可。无论哪一次连接,一旦成功,就将配置信息写入cfg中。
如果是我,我就这么干了。应该有更NX的实现方法。期待高人出现。。。。。。
jsonzbc 2010-06-25
  • 打赏
  • 举报
回复
在FORM1_Load事件里面写判断代码,如果验证成功就跳转到FORM2如果验证失败就提示...
深海之蓝 2010-06-25
  • 打赏
  • 举报
回复
可以的
cc2832 2010-06-25
  • 打赏
  • 举报
回复
代码就没了.方法是可以的
你把连接数据库的语句放在FORM1的启动事件中.
然后加个判断语句给他
成功了,就启动FORM2
失败了,就弹出MESSAGE窗口提示连接失败
风之影子 2010-06-25
  • 打赏
  • 举报
回复
方法可行,可以写代码了。
老Key 2010-06-25
  • 打赏
  • 举报
回复
这种方法是可以实现的。。

110,526

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧