我正在开发一个酒店管理项目。我正在开发这个应用程序,它可以被小型,中型,大型酒店使用。例如,如果是小型酒店,则将在接待处输入账单。如果是大型酒店,则将从特定餐桌的服务中获取结算明细。所以在安装之后我会设置需要调用哪些Forms?
我可以这样做吗?如果是,那么请让我知道这样做以及需要知道哪些概念才能做到这一点。
答案 0 :(得分:2)
您可以采用以下最适合您要求的方法之一
创建两个安装程序这是解决问题的一种方法,而不是在安装后切换表单,您可以创建两个不同的安装程序,一个将为小酒店部署应用程序(将为小型酒店开设特定表格)其他人将为中型酒店部署申请。
决定安装如果不创建两个不同的安装,您可以创建一个带有自定义UI的安装程序,在应用程序安装过程中,用户可以选择是否适用于中小型酒店,将用户选择保存到配置文件,当用户启动应用程序时,读取此配置标志值并加载特定屏幕。
决定首次启动这是与第二点类似的最后一个选项,只需创建一个简单的安装程序即可。在应用程序中添加额外的表单。只有在第一次启动应用程序时才会显示此UI。只需此表单将要求用户选择小型/中型酒店选项并将选项保存到配置文件或数据库。此后,只要应用程序启动,它将从此文件/数据库中读取标志值,并仅为用户启动特定的UI。
Launching Windows Form based on Config file value
示例配置文件
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="FormToLaunch" value="small"/>
</appSettings>
</configuration>
根据配置值切换Windows表单
private void Form1_Load(object sender, EventArgs e)
{
string firstFormFlag = ConfigurationManager.AppSettings["FormToLaunch"].ToString();
if (firstFormFlag.Equals("small", StringComparison.OrdinalIgnoreCase))
{
SmallHotelForm form = new SmallHotelForm();
form.Show();
}
else if (firstFormFlag.Equals("medium", StringComparison.OrdinalIgnoreCase))
{
MediumHotelForm form = new MediumHotelForm();
form.Show();
}
else if (firstFormFlag.Equals("Big", StringComparison.OrdinalIgnoreCase))
{
BigHotelForm form = new BigHotelForm();
form.Show();
}
}