Winform中在Program.cs中初始化的变量(Sqlite连接实例)等在Form1.cs中访问

生活中,最使人疲惫的往往不是道路的遥远,而是心中的郁闷;最使人痛苦的往往不是生活的不幸,而是希望的破灭;最使人颓废的往往不是前途的坎坷,而是自信的丧失;最使人绝望的往往不是挫折的打击,而是心灵的死亡。所以我们要有自己的梦想,让梦想的星光指引着我们走出落漠,走出惆怅,带着我们走进自己的理想。

导读:本篇文章讲解 Winform中在Program.cs中初始化的变量(Sqlite连接实例)等在Form1.cs中访问,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

场景

部分场景下需要在Winform启动时执行一些初始化的操作。

比如这里的执行创建Sqlte数据库和表的操作,为了操作数据库封装了工具类,

这个工具类实例怎样在其他页面比如Form1.cs中调用执行一些增删改查的操作。

注:

博客:
霸道流氓气质的博客_CSDN博客-C#,架构之路,SpringBoot领域博主

实现

1、封装单例的全局工具类,并添加初始化Sqlite数据库建表的方法

    /**
     * 全局属性类
     */
    class Global
    {

        private SqLiteHelper _sqlLiteHelper;

        private static string _lockFlag = "GlobalLock";

        private static Global _instance;

        //mqtt是否已经连接
        public  bool isMqttClientConnected = false;

        private Global()
        {

        }

        public static Global Instance
        {
            get
            {
                lock (_lockFlag)
                {
                    if (_instance == null)
                    {
                        _instance = new Global();
                    }
                    return _instance;
                }
            }
        }

        public SqLiteHelper sqlLiteHelper
        {
            get { return _sqlLiteHelper; }
            set { _sqlLiteHelper = value; }
        }


        public void InitPositionSqLite()
        {
            _sqlLiteHelper = new SqLiteHelper("data source=positions.db");
            //创建名为positions的数据表
            _sqlLiteHelper.CreateTable("positions", new string[] { "timestamp", "data" }, new string[] { "TEXT", "TEXT" });
        }
    }

2、在Program.cs中执行初始化数据库的操作方法

    static class Program
    {
       

        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            //顺序勿动
            //初始化positions数据库
            Global.Instance.InitPositionSqLite();
            Application.Run(new Form1());

        }
    }

一定要注意之类的放的位置,位于Application.Run(new Form1())的前面。

3、然后在Form1.cs中调用时

Global.Instance.sqlLiteHelper.InsertValues("positions", new string[] { currentTimeSpan, saveData });

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/135822.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!