نمایش نتایج 1 تا 6 از 6

نام تاپیک: رویداد shown در فرم

  1. #1
    کاربر دائمی آواتار negar442
    تاریخ عضویت
    تیر 1393
    محل زندگی
    مازندران
    پست
    210

    Question رویداد shown در فرم

    من یک سول ساده دارم ؛ رویداد shown فرم چه زمانی رخ می ده؟ سوال من از یک مشکل تو برنامه ای که نوشتم ناشی می شه. مشکل از این قراره که دستوراتی که در این رویداد نوشتم بعضی اوقات 2 بار اجرا می شه! می خوام بدونم چرا این رویداد دو بار اجرا می شه؟ سایتهای فارسی هیچ اشاره ای به این رویداد نکرده اند و انگلیسی هم زیاد بلد نیستم!

  2. #2

    نقل قول: رویداد shown در فرم

    سلام دوست عزیز ، این اونت برای زمانی هست که فرم شما نمایش داده میشه (فرقش با FormLoad در این هست که فرم لود قبل نمایش صفحه و ایجاد کنترل ها اجرا میشه ، اما Shown زمانی اجرا میشه که کنترل های شما به کاربر نشان داده شد ، معمولا برای ایجاد Waiting و صبر کردن ازش استفاده میکنن)

    در خصوص اجرای دوبار هم ، تاحالا بنده به همچین مشکلی برنخوردم ، حدسم از این هست که ممکنه مشکل از کد شما باشه که دوبار اجرا میشه دستورتون .
    اگه کدتون رو بزارید و بگید کی دوبار اجرا میشه بهتر میشه راهنماییتون کرد

  3. #3
    کاربر دائمی آواتار negar442
    تاریخ عضویت
    تیر 1393
    محل زندگی
    مازندران
    پست
    210

    نقل قول: رویداد shown در فرم

    کدهای رویداد shown فرم اصلی :

    if (!classmain.b)
    {
    formlogin frm = new formlogin();

    frm.ShowDialog();
    }

    بعد میره تو فرم لاگین و اگه پسورد درست بود classmin.b = true میشه و formlogin.visible= false میشه. کدهام چیز خاصی توش نیست! با توضیحات شما فکر نمی کنم مشکل از shown باشه.
    این که کد چه موقع 2 بار اجرا میشه هم نمی دونم بعضی اوقات این اتفاق میوفته. یعنی برنامه ای که تو سیستم مشتریه با یک کلیک 2 بار باز میشه وقتی یکی رو می بنده هر دو بسته میشه!
    توی program.cs هم کدهام اینه :


    static void Main()
    {
    bool ok;
    Mutex m = new Mutex(true, " ", out ok);
    if (!ok)
    {
    MessageBox.Show("برنامه در حال اجرا است");
    return;
    }
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(fals e);
    Application.Run(new frmtemp("","","","","","",""));



    }

    یعنی با این کد باید مانع از اجرای مجدد برنامه وقتی برنامه در حال اجراست بشه.
    کدهای frmtemp

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;


    namespace Hesab
    {
    public partial class frmtemp : Form
    {
    string Id = ""; string name = ""; string address = ""; string phone = ""; string mobile = ""; string fax = ""; string description = "";

    public frmtemp(string ID, string Name, string Address, string Phone, string Mobile, string Fax, string Description)
    {
    InitializeComponent();
    Id = ID;
    name = Name;
    address = Address;
    phone = Phone;
    mobile = Mobile;
    fax = Fax;
    description = Description;
    }


    private void frmtemp_Activated(object sender, EventArgs e)
    {

    var f = new frmforoshmin(Id, name, address, phone, mobile, fax, description);
    f.Show();
    this.Hide();
    }


    private void frmtemp_Load(object sender, EventArgs e)
    {


    }


    private void label1_Click(object sender, EventArgs e)
    {


    }


    private void timer1_Tick(object sender, EventArgs e)
    {

    }
    }
    }



  4. #4

    نقل قول: رویداد shown در فرم

    سلام مجدد ، بنده هم متوجه نشدم چرا دوبار میشه .
    میتونیین صورت مساله رو پاک کنین :دی
    توی اونت Shown شرط بزارین که اگر فرم Login باز نبود فرم رو باز کنه :


    if (Application.OpenForms["formlogin"] == null)
    {
    if (!classmain.b)
    {
    formlogin frm = new formlogin();

    frm.ShowDialog();
    }
    }

  5. #5
    کاربر دائمی آواتار negar442
    تاریخ عضویت
    تیر 1393
    محل زندگی
    مازندران
    پست
    210

    نقل قول: رویداد shown در فرم

    الآن متوجه شدم که از خود برنامه دو نمونه باز میشه یعنی 2 نمونه از اون در تسکبار نشون داده میشه و هر کدوم رو ببندی دیگری هم بسته میشه!

  6. #6
    کاربر دائمی آواتار negar442
    تاریخ عضویت
    تیر 1393
    محل زندگی
    مازندران
    پست
    210

    نقل قول: رویداد shown در فرم

    هر موقع ویندوز reset می شه در نخستین اجرا 2 نمونه از برنامه باز میشه!

تاپیک های مشابه

  1. شناختن رویداد کلیک در فرم دیگر
    نوشته شده توسط mohammad-gh در بخش VB.NET
    پاسخ: 6
    آخرین پست: دوشنبه 16 مهر 1386, 14:35 عصر
  2. یه مشکل عجیب با رویداد load در فرم
    نوشته شده توسط programmermp در بخش VB.NET
    پاسخ: 5
    آخرین پست: شنبه 02 مهر 1384, 18:23 عصر
  3. رویداد Minimume کردن فرم
    نوشته شده توسط ehsan_ansaripoor در بخش برنامه نویسی در 6 VB
    پاسخ: 2
    آخرین پست: پنج شنبه 17 شهریور 1384, 01:28 صبح
  4. اجرای رویداد OnKeyPress درون فرم دیگر به صورت دستی
    نوشته شده توسط Delphi KDE در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 1
    آخرین پست: یک شنبه 12 تیر 1384, 04:03 صبح
  5. کنترل رویداد بسته شدن فرم
    نوشته شده توسط sh_m در بخش VB.NET
    پاسخ: 4
    آخرین پست: یک شنبه 10 آبان 1383, 11:30 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •