Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 根据当前状态代码显示状态代码说明_C#_Visual Studio - Fatal编程技术网

C# 根据当前状态代码显示状态代码说明

C# 根据当前状态代码显示状态代码说明,c#,visual-studio,C#,Visual Studio,我有一个应用程序,将用于更改生产单元的状态代码,以便在整个过程中跟踪它们。我当前的问题是根据当前所选记录的状态代码显示状态代码说明。我有一种方法,我认为可以完成这项工作,但我不知道该把它放在哪里去执行所需的操作。我在后端有一个2NF Microsoft Access(.mdb)数据库,该数据库包含所有需要的信息,并且已正确构建,但通过C#处理该数据库时遇到问题 您可以简单地向生产单元模型类添加一个名为StatusDescription的属性,并让它根据其内部状态代码返回上面的字符串。然后,只需从

我有一个应用程序,将用于更改生产单元的状态代码,以便在整个过程中跟踪它们。我当前的问题是根据当前所选记录的状态代码显示状态代码说明。我有一种方法,我认为可以完成这项工作,但我不知道该把它放在哪里去执行所需的操作。我在后端有一个2NF Microsoft Access(.mdb)数据库,该数据库包含所有需要的信息,并且已正确构建,但通过C#处理该数据库时遇到问题


您可以简单地向生产单元模型类添加一个名为StatusDescription的属性,并让它根据其内部状态代码返回上面的字符串。然后,只需从UI调用该属性即可获得所需的文本

public StatusDescription {
    get {
        if (statusCode == 15) {
            return "Stock Room in Process.";
        }

        // etc, etc.

        return string.Empty;
    }
}
那就

statusCodeLabel.Text = productionUnit.StatusDescription;
并在需要更新时更新UI。要么是因为国家的改变。或者在计时器上,无论应用程序需要什么


也就是说,它听起来应该已经存在于数据库中,并通过相关的状态代码映射到您的模型类。

您需要将事件处理程序附加到相关事件。可能
statusCodeLabel.TextChanged
statusCodeLabel.Leave
最好将代码存储为二进制,例如0110,第一位(MSB)与单元有关,第二位与创建的生产订单有关。等等你们不必像这样使用位,你们可以考虑十进制。我的意思是8(1000)是单位的问题。和12(1100)都是单位的问题。和生产订单创建..此应用程序是什么?WPF、Win form或Web?如果是WPF,则编写一个值转换器,将该值绑定到另一个控件的标签,即label。另外,从干净代码的角度来看,将代码/描述放在哈希表中,该哈希表从外部文件读取您所说的基于“当前所选记录的状态代码”。因此,无论您是在记录中导航,无论是它的按钮还是下拉列表,您都会将其放入该控件的相应更改事件中。另外,我会使用
字典
来存储代码和值,或者更好的是,使用数据库。
statusCodeLabel.Text = productionUnit.StatusDescription;