0 امتیاز

سلام 

من دارم در wpf یه برنامه برای بایگانی نامه مینویسم 

میخوام هروقت که کاربری وارد برنامه میشه نام ونام خانوادگی  وآیدی کاربر در سراسر برنامه قابل دسترسی باشه برای این کار اومدم تو یه کلاس سه تا مقادیر به صورت زیر تعریف کردم

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Baygani
{
   public static class PublicVariable

    {
        public static string uusername = "";
        public static string uuserlastanme = "";
        public static int uuserid;
        public static Boolean Flagg=true;
    }
}

و در button  فرم لاگین برنامه این کدها رو نوشتم 


            SHA256CryptoServiceProvider sha2 = new SHA256CryptoServiceProvider();
            Byte[] B1;
            Byte[] B2;
            B1=UTF8Encoding.UTF8.GetBytes(txt_pw.Password.Trim());
            B2 = sha2.ComputeHash(B1);
            string Userpasswordhashed = BitConverter.ToString(B2);
            /////////////////////////////////////////////////////////////
            var query = from U in db.Users
                        where U.Username == txt_user.Text.Trim()
                        where U.Password == Userpasswordhashed
                        select U;

            var user = query.ToList();
            
           ////////////////////////////////////////////////////////////////
           if(user.Count==1)
            {

            RegistryKey Usernamekay = Registry.CurrentUser.CreateSubKey("Software\\Baygani");
               
                 Usernamekay.SetValue("UsernameRegester", txt_user.Text.Trim());
                    PublicVariable.uusername = user[0].Name;
                    PublicVariable.uuserlastanme = user[0].Lastname;
                    PublicVariable.uuserid = user[0].id;
                    PublicVariable.Flagg = Convert.ToBoolean(user[0].flag);
          
            }
            this.Hide();
            new win_main().ShowDialog();

خواهش میکنم اگه کسی میتونه کمک کنه چون خیلی بهش نیاز دارم 

1 پاسخ

0 امتیاز

سلام دوست گرامی

 

کدهات در شروع درسته البته با فرم لاگین کاری ندارم

کافیه در صفحه لاگین  Modifiers تکست باکس یوزر رو  در حالت public بزاری و حین تایید مقادیر یوزر و پسورد در صفحه لاگین مقدار تکست باکس یوزر رو به صفحه بعدی بفرستی

بعد در صفحه بعدی با تعریف یه متغییر و دریافت اون از صفه اول همون مقدار رو توی لیبل نمایش بدی

من یه متد دیگه بهش اضافه کردم اونم تشخیص اینکه کاربر ویندوز ادمین هستش یا معمولی (user-power user ,.....)

 

 

سورس رو میذارم فرم 3 هم مشابه همینه
یعنی اگه ادامه بدی تو هرفرمی بخایی نام کاربر رو میتونی ارسال کنی

پروژه رو با ویژوال 2017  نوشتم

 

http://s9.picofile.com/file/8319552168/welcome_user2.rar.html

 

اینا کلا کدهای فرم لاگینه

 if (textBox1.Text.Trim()=="" || textBox2.Text.Trim()=="")
            {
                ToolTip dd = new ToolTip();
                dd.ToolTipIcon = ToolTipIcon.Warning;
                dd.Show(string.Empty,textBox1 ,3000);
                dd.Show("یوزر پس نمیتونه خالی باشه",textBox1);
            }
            else
            {
                if (textBox1.Text=="admin" && textBox2.Text=="1")
                {
                    Form1.ActiveForm.Hide();
                    Form2 frm2 = new Form2(textBox1.Text);
                   frm2.ShowDialog();
                }
            }

*************************************************************************
اینم کدهای فرم 2

string user_val = "";
        public Form2(string user)
        {
            InitializeComponent();
            user_val = user;
        }


private void welcom_touser()
        {
            string admin = isadmin() ? " User Is Administrator " : "کاربر معمولی";
            label3.Text = admin;
            label1.Text = "Dear User : " + user_val + " Welcome";
            label2.Text = "Login Time "  + DateTime.Now.ToString() ;
        }

**********************************

سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,920 کاربر

دسته بندی ها

...