PDA

View Full Version : سوال: نماش فرم دوم یا سوم



davidrobert
چهارشنبه 18 اردیبهشت 1392, 04:37 صبح
سلام خسته نباشید من میخواستم تو برنامه از نمایش فرم استفاده کنم یعنی وقتی فرم لود میشه بار اول بیاد ببینه نام شرکت ثبت شده یا نه اگه ثبت نشوده فرم ثبت شرکت نمایش بده اگه ثبت شده فرم ثبت شرکت رو نشان نده و بره فرم ثبت کاربر رو نشون بده و ببینه اگه کاربری تعریف شده یا نه اگه کاربری تعریف شده یا نه اگه کاربر تعریف شده فرم ورد ظاهر بیشه وگر نه اگه فرم ثبت کاربر نشون بده .
در کل موقع Load شدن صفحه اول سیستم ببینه آیا نام شرکت و کاربری موجود بوده یا نه اگه نبوده اول فرم ثبت شرکت و بعد فرم ثبت کاربر نشان داده بیشه وقتی هم هر جفت فرم پرشدن در لود شدن بده دیگه فرم ثبت شرکت و ثبت کاربرند نشان داده نشه به هیچ عنوان بعد از لود دیگه وارد بخش ورود بشیم برای وارد کردن نام کاربری برای ورود به برنامه.
من خودم کدی رو نوشتم ولی ایراد داره وقتی لود میشه میاد دیتاگرید رو میخونه میبینه نام شرکت موجود نیست فرم ثبت شرکت رو نشان میده بعد از عمل پردازش یعنی منظور من progressBar هستش وقتی انجام شد فرم ثبت کارمند رو نشون میده ولی بعداز عمل پردازش دوباره فرم رو نشان من میده میخوام از دوباره کاری فرم رها بیشه و یک بار نشون بده و وقتی برنامه رو بستم نشان نده ولی وقتی میبندم صفحه رو یا باز می مونه دوباره نشان داده میشه.
اینم کد های من برای نمایش فرم
private void TimLoad_Tick(object sender, EventArgs e)
{
LblProgs.Text = "%" + progressBarX1.Value.ToString();
if (++progressBarX1.Value == 100)
{
this.Hide();
progressBarX1.Value = 0;
TimLoad.Enabled = true;
if (dataGridView1.CurrentRow == null)
{
FrmAddCompane fmadc = new FrmAddCompane();
fmadc.ShowDialog();
}
else
{
FrmAddUser fmu = new FrmAddUser();
fmu.ShowDialog();
}

}
}
خواهشن کمک کنید من رو خیلی به همچین چیزی نیاز دارم

_behnam_
چهارشنبه 18 اردیبهشت 1392, 05:58 صبح
سلام.
دوست عزیز اشتباه شما اینجاست که شرط مورد نظر رو برروی دیتاگریدویو میزارید. 2تا مد جدا تعریف کنید که فقط مقدار true و false رو برگردونه . مثلا اگه اطلاعات ثبت شده true و اگه نشده false رو برگردونه.


موفق باشد./

Mahmoud.Afrad
چهارشنبه 18 اردیبهشت 1392, 08:29 صبح
شما از تایمر استفاده کردید؟ میتونم بپرسم برای چی؟

davidrobert
چهارشنبه 18 اردیبهشت 1392, 11:08 صبح
شما از تایمر استفاده کردید؟ میتونم بپرسم برای چی؟
سلام من از تایمر برای progressBar استفاده کردم که بعد از اینکه عمل progressBarانجام شد فرم مربوطه رو نشون بده بعد از اینکه عمل progressBar با به پایان رسید.بخاطر همین از تایمر استفاده کردم.

davidrobert
چهارشنبه 18 اردیبهشت 1392, 11:10 صبح
سلام.
دوست عزیز اشتباه شما اینجاست که شرط مورد نظر رو برروی دیتاگریدویو میزارید. 2تا مد جدا تعریف کنید که فقط مقدار true و false رو برگردونه . مثلا اگه اطلاعات ثبت شده true و اگه نشده false رو برگردونه.


موفق باشد./
سلام امکانش هستش یه نمونه سورس در اختیار من قرار بدید که از دیتابیس خالی بود این فرم رو نشان بده اگه خالی نبود اینکه رو نشان بده و به فرم قبلی هم بر نگرده ممنون میشم .

davidrobert
چهارشنبه 18 اردیبهشت 1392, 12:27 عصر
سلام خواهش میکنم اگه کسی راهی برای نمایش فرم بر حسب موجود بودن اطلاعات در دیتاگرید داره در اختیار من قرار بده اگه اطلاعات در فرم ثبت کمپانی و ثبت کاربر نبود قرم ثبت شرکت و فرم ثبت کاربر بعد از لود کردن فرم نشان بده اگه اطلاعاتی موجود بود فرم ثبت کاربر و ثبت شرکت رو نشان نده و یه راست بعد از لود شدن وارد فرم ورود بیشه خیلی نیاز دارم به همچین چیزی خواهش میکنم اگه کسی همچین چیزی داره من رو کمک کنه.

khokhan
چهارشنبه 18 اردیبهشت 1392, 14:10 عصر
سلام خواهش میکنم اگه کسی راهی برای نمایش فرم بر حسب موجود بودن اطلاعات در دیتاگرید داره در اختیار من قرار بده اگه اطلاعات در فرم ثبت کمپانی و ثبت کاربر نبود قرم ثبت شرکت و فرم ثبت کاربر بعد از لود کردن فرم نشان بده اگه اطلاعاتی موجود بود فرم ثبت کاربر و ثبت شرکت رو نشان نده و یه راست بعد از لود شدن وارد فرم ورود بیشه خیلی نیاز دارم به همچین چیزی خواهش میکنم اگه کسی همچین چیزی داره من رو کمک کنه.
با سلام

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

اینطوری دیگه با وجود نام شرکت و وجود کاربر وارد شده در فرم لاگین هیچ گاه فرمهای نام برده شده فعال نمی شه مگه اینکه مقدارشون برابر 0 بشه

دیگه دیتا گرید هم لازم نیست

یه چیزی شبیه این ( البته این کد ناقصه اگه خواستی می تونی کاملش کنی .... من فقط محض اشاره می ذارمش

SqlConnection con = new SqlConnection(connect);
DataSet ds = new DataSet();
string s = "select id from login ";
SqlDataAdapter da = new SqlDataAdapter(s, con);
da.Fill(ds, "t1");
if (ds.Tables["t1"].Rows.Count == 0)
{
FrmAddCompane fmadc = new FrmAddCompane();
fmadc.ShowDialog();
else
FrmAddUser fmu = new FrmAddUser();
fmu.ShowDialog();

}

davidrobert
چهارشنبه 18 اردیبهشت 1392, 16:48 عصر
مشکلم رو یکی از برادران حل کرد.