سلام
سال جدید را خدمت شما و کلیه دوستان تبریک عرض میکنم.
انشاا... برخلاف شروع اش، سالی پربرکت و توام با صحت و سلامتی باشد.
نوشته شده توسط:
booysusa
شیوه درست نوشتن تاریخ شمسی و نمایش اون در گرید و ماسکد باکس ... مشکل این فرم این است که بعد از زدن دکمه ویرایش، تاریخ با ساعت و و دقیقه میرود و فرم بهم میخورد
وقتی شما از کنترلری مانند GlobalizationDateTimePicker استفاده میکنید نباید خودتان دستی Text در آن بریزید
باید مقدار DateTime را تحویل خصیصه Value یا DbValue آن بدهید.
this .mskTarikhSabt.DbValue = this .dgvHesabMain.CurrentRow.Cells["ClmnTarikh_HesabMain"].Value ;
نوشته شده توسط:
booysusa
میخوام با استفاده از گرید ، سایت هایی که ذخیره هستن رو سایت باز کنم ... مشکل این فرم این است که با زدن دکمه باز کردن سایت سایت باز نمیشود
کافی است برای رویدادی مانند CellContentClick در گرید کد نویسی کنید، کدی شبیه این
if (e.ColumnIndex != 2) return ;
string url = this .dgvSite.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString() ;
if (string .IsNullOrEmpty(url)) return ;
System.Diagnostics.Process.Start(url) ;
نوشته شده توسط:
booysusa
همچنین ممکن است یک دسته از سایت های خاص را جستجو کنیم و با زدن دکمه باز کردن همه سایت ها باید اون سایت هایی که جستجو شده باز شودند
باید یک دکمه اضافه روی فرم برای "باز کردن همه سایت ها" تعبیه کنید که در حلقه foreach فرمان Process.Start را روی همه آدرس ها اجرا کند.
نوشته شده توسط:
booysusa
شیوه صحیح ذخیره چک باکس و تکست باکس روی فرم ... با زدن دکمه ورود، چک باکس ها درون دیتابیس ذخیره شوند
برای ذخیره مواردی مانند "مرا به خاطر بسپار" معمولا از دیتابیس استفاده نمیشود
یا حداقل به تنهایی از دیتابیس استفاده نمیشود.
نکته اول)
از نظر مفهومی صحیح نیست که کلید گاوصندوق را درون گاوصندوق نگهداری کرد.
نکته دوم)
چون این موارد per User و per Machine است.
یعنی برای هر کاربرد و هر رایانه جداگانه ذخیره میشود
شما روی فلان رایانه با فلان user لاگین کرده اید و این ارتباطی با سایر رایانه ها و سایر user ها ندارد.
پس موارد این چنینی را باید دستی در یک فایل ذخیره کنید.
البته خود دات نت هم بخشی برای مدیریت ذخیره و خواندن این موارد دارد
به Project > Properties بروید و سطرهای زیر را ایجاد کنید
و سطرهای زیر را ایجاد کنید
سپس میتوانید در سازنده فرم کدی شبیه این بنوسید:
public frmChek()
{
this .InitializeComponent();
this .cbxShowPass.Checked = Properties.Settings.Default.ShowPass;
this .txtUserName.Text = Properties.Settings.Default.Username;
this .txtPassword.Text = Properties.Settings.Default.Password;
this .chkRemember_frmLogin.Checked = (!string .IsNullOrEmpty(this.txtUserName.Text)) || (!string .IsNullOrEmpty(this.txtPassword.Text)) ;
}
و در پایان لاگین موفق هم کدی شبیه این:
private void btnLogin_Click(object sender, EventArgs e)
{
//...
//Login Code
//...
Properties.Settings.Default.ShowPass = this .cbxShowPass.Checked;
Properties.Settings.Default.Username = this .chkRemember_frmLogin.Checked ? this .txtUserName.Text : null ;
Properties.Settings.Default.Password = this .chkRemember_frmLogin.Checked ? this .txtPassword.Text : null ;
Properties.Settings.Default.Save();
}
تنها ایراد روش ساده فوق آن است که این اطلاعات در یک فایل در درایو C و بدون رمزنگاری ذخیره میشود.
یعنی اگر کسی دسترسی داشته باشد و بداند کجا را نگاه کند میتواند User,Pass را پیدا کند.
که برای رفع مشکل باید قبل و بعد خواندن User,Pass در کدهای فوق از رمزنگاری استفاده کرد.
موفق باشید.