当前位置: 首页>>代码示例>>C#>>正文


C# System.Threading.Thread.TrySetApartmentState方法代码示例

本文整理汇总了C#中System.Threading.Thread.TrySetApartmentState方法的典型用法代码示例。如果您正苦于以下问题:C# System.Threading.Thread.TrySetApartmentState方法的具体用法?C# System.Threading.Thread.TrySetApartmentState怎么用?C# System.Threading.Thread.TrySetApartmentState使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Threading.Thread的用法示例。


在下文中一共展示了System.Threading.Thread.TrySetApartmentState方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: button1_Click

        private void button1_Click(object sender, EventArgs e)
        {
            #region 11月3号之前
            //try
            //{
            //    //string s = "Data Source=.;Initial Catalog=db_DMSystem;Integrated Security=True";
            //    SqlConnection conn = new SqlConnection(services.DBservice.strConn);

            //    //if (login_name.Text == "" || pwd.Text == "")
            //    //{ MessageBox.Show("用户名和密码不能为空!请输入!"); }
            //    if(login_name.Text.Trim() == "")
            //    {
            //        login_name.Focus();
            //        label2.Text = "请输入帐号";
            //    }
            //    else if (pwd.Text.Trim() == "")
            //    {
            //        pwd.Focus();
            //        label2.Text = "请输入密码";
            //    }
            //    else
            //    {
            //        label2.Text = "信息填写完整。";
            //        SqlCommand cmd = new SqlCommand("upload", conn);
            //        cmd.CommandType = CommandType.StoredProcedure;
            //        cmd.Parameters.AddWithValue("@userName",login_name.Text.Trim());
            //        cmd.Parameters.AddWithValue("@pwd",new Encryption.encryption().getHashString(pwd.Text.Trim()));
            //        cmd.Parameters.Add("@power", SqlDbType.VarChar, 10).Direction = ParameterDirection.Output;
            //        cmd.Parameters.Add("@exact", SqlDbType.Bit).Direction = ParameterDirection.Output;
            //        cmd.Parameters.Add("@name", SqlDbType.VarChar, 30).Direction = ParameterDirection.Output;
            //        conn.Open();
            //        //SqlDataReader dr = cmd.ExecuteReader();
            //        int status2 = cmd.ExecuteNonQuery();

            //        if (status2 ==1)
            //        {

            //            //UserClass.GlobAdminName = login_name.Text.Trim();
            //            UserClass.GlobalPower = cmd.Parameters["@power"].Value.ToString();
            //            //UserClass. = cmd.Parameters["@name"].Value.ToString();
            //            UserClass.InitUser(login_name.Text.Trim(),cmd.Parameters["@name"].Value.ToString());
            //            int status = (bool)cmd.Parameters["@exact"].Value == true ? 1 : 0;
            //            conn.Close();
            //            if (status == 1)
            //            {
            //                System.Threading.Thread mainForm = new System.Threading.Thread(new System.Threading.ThreadStart(delegate { Application.Run(new MainForm()); }));
            //                //mainForm.SetApartmentState(System.Threading.ApartmentState.STA);
            //                mainForm.TrySetApartmentState(System.Threading.ApartmentState.STA);
            //                mainForm.Name = "mainForm";//设置进程的名字。
            //                mainForm.Start();
            //                this.Dispose();
            //            }
            //            else
            //            {
            //                label2.Text = "重复登录";
            //            }

            //        }
            //        else
            //        {
            //            label2.Text = "用户不存在或者密码错误!";
            //            pwd.Text = "";
            //        }
            //    }
            //}
            //catch (SqlException sqle)
            //{
            //    label2.Text = "系统网络参数设置失败";
            //    throw sqle;
            //}
            //catch(Exception ex)
            //{
            //    label2.Text = "系统异常,请稍后再试!";
            //    MessageBox.Show(ex.StackTrace.ToString());
            //    //throw ex;
            //}
            #endregion 不要的
            if (user == null) user = UserClass.GetInstance();
            else
            {
                MessageBox.Show(string.Format("用户【{0}】已经登录本机系统,请通知他是否下线操作再使用!",user.UserName));
                return;
            }
            Dictionary<string, string> dict = new Dictionary<string, string>();
            dict.Add("userID",login_name.Text.Trim());
            dict.Add("pwd",new encryption().getHashString(pwd.Text.Trim()));
            user.InitUserData(dict);
            switch(user.Upload())
            {
                case 0:label2.Text = services.FileService.UploadStatus[0]; break;
                case 1:
                    {
                        System.Threading.Thread mainForm = new System.Threading.Thread(new System.Threading.ThreadStart(delegate { Application.Run(new MainForm()); }));
                        //mainForm.SetApartmentState(System.Threading.ApartmentState.STA);
                        mainForm.TrySetApartmentState(System.Threading.ApartmentState.STA);
                        mainForm.Name = "mainForm";//设置进程的名字。
                        mainForm.Start();
                        this.Dispose();
                    } break;
                case 2:
//.........这里部分代码省略.........
开发者ID:shenhx,项目名称:shenhongxiao_10207160518,代码行数:101,代码来源:login.cs


注:本文中的System.Threading.Thread.TrySetApartmentState方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。