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

نام تاپیک: زدن یک دکمه در فرم و اجرای عملیات روی فرمی دیگر

  1. #1
    کاربر دائمی آواتار zayens
    تاریخ عضویت
    آبان 1387
    محل زندگی
    تهران - بهارستان
    پست
    591

    زدن یک دکمه در فرم و اجرای عملیات روی فرمی دیگر

    یه برنامه نوشتم که تو قسمت تنظیمات میشه تصویر بکگراند روی فرم اصلی را تغییر داد.
    فقط من کاری کردم که وقتی فرم تنظیمات بسته میشه و روی بکگراند فرم اصلی کلیک کنی عکس عوض میشه و یا این که باید برنامه را یه بار دیگه اجرا کرد تا تغییر را ببینی.
    نتونستم کاری کنم که به محض تأیید فرم تنظیمات، خودبه خود عکس فرم اصلی عوض بشه
    منو راهنمایی می کنین؟

  2. #2
    کاربر دائمی آواتار behnam25214
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    @-<-<
    پست
    338

    نقل قول: زدن یک دکمه در فرم و اجرای عملیات روی فرمی دیگر

    1.یا باید کنترلت رو از نوع Public تعریف کنی.
    2.میتونی از کلاس ها هم استفاده کنی.

  3. #3
    کاربر دائمی آواتار zayens
    تاریخ عضویت
    آبان 1387
    محل زندگی
    تهران - بهارستان
    پست
    591

    نقل قول: زدن یک دکمه در فرم و اجرای عملیات روی فرمی دیگر

    من متوجه نشدم
    این قسمتی از فرم تنظیمات من است

     
    public partial class frmconfig : Form
    {
    myConfig conf = new myConfig();
    public frmconfig()
    {
    InitializeComponent();
    conf.SelectAllConfig();
    txtbackground.Text = conf.Dvconf[0]["BACKGROUNDPIC"].ToString();
    }
    //********
    //دکمه ی سیو
    //********
    private void btnSave_Click(object sender, EventArgs e)
    {
    //وقتی این دکمه زده می شود من انتظار دارم
    //که تصویر در بکگراند فرم اصلی نمایش داده بشه
    conf.UpConfigBackgroundPath(txtbackground.Text.Tri m());
    this.Close();
    }
    //دکمه های دیگر
    //OpenFileDialog دکمه های
    private void btnsearch_Click(object sender, EventArgs e)
    {
    OpenFileDialog fd = new OpenFileDialog();
    fd.Filter = " jpg تصاویر|*.jpg|gif عکسهای فشرده|*.Gif|jpeg تصاویر|*.jpeg" +
    "|*.jpg , *.jpeg, *.gif همه عکسهای|*.jpg;*.jpeg;*.gif" ;
    fd.ShowDialog();
    txtbackground.Text = fd.FileName.ToString();
    }


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

     
    //آوردن عکس پس زمینه یا بکگراند
    public void imageground()
    {
    myConfig conf = new myConfig();
    conf.SelectAllConfig();
    try
    {
    pictureBox1.BackgroundImage= Image.FromFile(conf.Dvconf[0]["BACKGROUNDPIC"].ToString());

    }
    catch
    {

    }
    }

    اما من نمی خوام که اینجوری باشه
    می خوام به محض کلیک روی فرم config یا همون فرم تنظیمات، فرم بسته بشه و حالا عکس روی فرم اصلی عوض شده باشه

  4. #4
    کاربر تازه وارد آواتار Marzieh_A
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    خونمون
    پست
    87

    نقل قول: زدن یک دکمه در فرم و اجرای عملیات روی فرمی دیگر

    خوب بعد از showdialog کردن فرم config تابع imageground() رو اجرا کنید.
    البته این تابع داخل فرم اصلیتون تعریف شده دیگه؟

  5. #5
    کاربر دائمی آواتار zayens
    تاریخ عضویت
    آبان 1387
    محل زندگی
    تهران - بهارستان
    پست
    591

    نقل قول: زدن یک دکمه در فرم و اجرای عملیات روی فرمی دیگر

    نقل قول نوشته شده توسط Marzieh_A مشاهده تاپیک
    خوب بعد از showdialog کردن فرم config تابع imageground() رو اجرا کنید.
    البته این تابع داخل فرم اصلیتون تعریف شده دیگه؟
    بله در فرم اصلی تعریف شده

    فقط مسئله این جا است که:
    هنگامی که فرم config یا همون فرم تنظیمات باز میشه، فرم اصلی هم در زیر این فرم وجود داره و نباید هم بسته بشه چون همه ی منو ها همانند منوی تنظیمات در این فرم وجود داره.

    خب مشکل هم همین جاست چون فرم اصلی فقط یکبار آن هم بار اول فراخوانی میشه .
    درضمن
    من در قسمت های کار روی grid این کار را انجام دادم و هنگامی که فرم نمایش اعضا نمایش داده میشه اگر روی دکمه ی ویرایش یا عضو جدید در روی همون فرم کلیک شود، فرم جدید روی فرم نمایش اعضا باز میشه و با تغییر روی فرم ها grig فرم زیر هم تغییر می کنه.

    مثلا فرم نمایش کاربران دکمه ای برای ویرایش داره:

     
    private void GrdUsers_MouseDoubleClick(object sender, MouseEventArgs e)
    {
    config.myUserID = Convert.ToInt32(GrdUsers.CurrentRow.Cells[0].Value.ToString());
    //صدازدن فرم دوم
    frmUpUser upuser = new frmUpUser();
    upuser.MygrdView = GrdUsers;
    //حال در اینجا فرم دوم یا همون فرم ویرایش کاربران روی همین فرم جاری نمایش داده میشه
    upuser.ShowDialog();
    }

    این هم نمونهای از کد فرم دوم یا فرم ویرایش
    من از این کد در فرم ویرایش کاربر استفاده کردم
     
    // (frmUser)در صورت زدن دکمه ویرایش، اعمال تغییرات روی فرم دیگر
    DataGridView mygrdView = new DataGridView();
    public DataGridView MygrdView
    {
    get { return mygrdView; }
    set { mygrdView = value; }
    }
    //


    که به درستی کار میکنه
    اما برای تصویر بکگراند نمیدونم چه طوری باید بلافاصله تغییر در فرم زیرین(فرم اصلی) ایجاد بشه؟

  6. #6
    کاربر تازه وارد آواتار Marzieh_A
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    خونمون
    پست
    87

    نقل قول: زدن یک دکمه در فرم و اجرای عملیات روی فرمی دیگر

    ببینید شما می تونی بعد از showdialog() مربوط به فرم تنظیمات background صفحه رو عوض کنید که در این صورت، تغییر تصویر پس زمینه تا وفتی که فرم تنظیمات بسته نشه انجام نمی شه.
    اما برای اینکه بلافاصله پس زمینۀ فرم عوض بشه می تونید در هر فرمی از برنامه که هستید از این کد استفاده کنید:

     
    Application.OpenForms["MainFormName"].BackgroundImage = تصویر مربوطه
    آخرین ویرایش به وسیله Marzieh_A : دوشنبه 06 اردیبهشت 1389 در 23:57 عصر

  7. #7
    کاربر دائمی آواتار zayens
    تاریخ عضویت
    آبان 1387
    محل زندگی
    تهران - بهارستان
    پست
    591

    نقل قول: زدن یک دکمه در فرم و اجرای عملیات روی فرمی دیگر

    ببینید شما می تونی بعد از showdialog() مربوط به فرم تنظیمات background صفحه رو عوض کنید که در این صورت، تغییر تصویر پس زمینه تا وفتی که فرم تنظیمات بسته نشه انجام نمی شه.
    اما برای اینکه بلافاصله پس زمینۀ فرم عوض بشه می تونید در هر فرمی از برنامه که هستید از این کد استفاده کنید:

    کد:
    Application.OpenForms["MainFormName"].BackgroundImage = تصویر مربوطه
    باز هم یه مشکلی هست و اون هم اینه که تصویر را در فرم اصلی در یک picture box گذاشتم و تصویر، بکگراند فرم نیست.
    حالا باید چه کار کنم؟

  8. #8
    کاربر تازه وارد آواتار Marzieh_A
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    خونمون
    پست
    87

    نقل قول: زدن یک دکمه در فرم و اجرای عملیات روی فرمی دیگر

    نقل قول نوشته شده توسط zayens مشاهده تاپیک
    باز هم یه مشکلی هست و اون هم اینه که تصویر را در فرم اصلی در یک picture box گذاشتم و تصویر، بکگراند فرم نیست.
    حالا باید چه کار کنم؟


    PictureBox Pic = Application.OpenForms["MainFormName"].Controls["PictureBoxName"] asPictureBox; 
    Pic.Image = تصویر مربوطه;


  9. #9
    کاربر دائمی آواتار zayens
    تاریخ عضویت
    آبان 1387
    محل زندگی
    تهران - بهارستان
    پست
    591

    نقل قول: زدن یک دکمه در فرم و اجرای عملیات روی فرمی دیگر

    از راهنماییتون بسیار ممنون
    مشکلم حل شد
    کد زیر را در فرم تنظیمات اضافه کردم و حالا به محض کلیک seve و بسته شدن فرم تنظیمات ، تصویر در فرم اصلی عوض میشه


    privatevoid frmconfig_FormClosed(object sender, FormClosedEventArgs e)
    {
    myConfig conf = newmyConfig();
    conf.SelectAllConfig();
    PictureBox Pic = Application.OpenForms["frmMain"].Controls["pictureBox1"] asPictureBox;
    Pic.Image =
    Image.FromFile(conf.Dvconf[0]["BACKGROUNDPIC"].ToString());
    }

  10. #10
    کاربر دائمی آواتار zayens
    تاریخ عضویت
    آبان 1387
    محل زندگی
    تهران - بهارستان
    پست
    591
    راستی یه سوال دیگه
    چه طور میشه عکس را اتوماتیک Stretch قرار داد.
    البته بوسیله ی کد.
    یعنی از backGroundimageLayout چه طور میشه استفاده کرد؟
    باز هم ممنون

  11. #11
    کاربر تازه وارد آواتار Marzieh_A
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    خونمون
    پست
    87

    نقل قول: زدن یک دکمه در فرم و اجرای عملیات روی فرمی دیگر

    نقل قول نوشته شده توسط zayens مشاهده تاپیک
    راستی یه سوال دیگه
    چه طور میشه عکس را اتوماتیک Stretch قرار داد.
    البته بوسیله ی کد.
    یعنی از backGroundimageLayout چه طور میشه استفاده کرد؟
    باز هم ممنون
    برای اینکه image داخل یه picturebox رو به صوزت stretch ببینی بعد از اینکه یه picturebox مثلا به اسم Pic ایجاد کردی این کد رو استفاده کن :


    Pic.SizeMode = PictureBoxSizeMode.StretchImage;


    اما backGroundimageLayout وقتی استفاده میشه که backgroundimage کنترل یا فرم مربوطه مقدار دهی بشه، که در اون صورت باید از این کد استفاده کنید (به عنوان مثال Pic نام کنترل هست) :


    Pic.BackgroundImageLayout = ImageLayout.Stretch;


    اما شما خصوصیت image از picturebox رو مقدار دهی کردی پس باید از کد حالت اول استفاده کنی.

  12. #12
    کاربر دائمی آواتار zayens
    تاریخ عضویت
    آبان 1387
    محل زندگی
    تهران - بهارستان
    پست
    591

    نقل قول: زدن یک دکمه در فرم و اجرای عملیات روی فرمی دیگر

    بازهم از راهنماییتون ممنون
    راستی دارم با کریستال ریپورت کار می کنم
    اگه یه کد آماده برای تهیه ی فیش حقوقی(قسمت طراحی جدول و ستون بندی ) داری برام میفرستی؟
    معلومه که می فرستی.
    ممنون

  13. #13
    کاربر دائمی آواتار zayens
    تاریخ عضویت
    آبان 1387
    محل زندگی
    تهران - بهارستان
    پست
    591

    نقل قول: زدن یک دکمه در فرم و اجرای عملیات روی فرمی دیگر

    دوباره یه سوال آسون به ذهنم رسید گفتم بپرسم.
    من یه فرم اصلی دارم با دکمه هایی خاص که هر دکمه، فرمی را روی فرم اصلی باز میکنه.
    وقتی فرم باز میشه دسترسی به فرم اصلی در زیر این فرم غیر فعال میشه.
    چه طور میشه که بشه؟
    لطفا اگر در properties میشه تنظیمات فرم رویی را عوض کرد بگید، در غیر این صورت اگه کدی وجود داره لطفا برام بذارید.
    آقایون و خانومای برنامه نویس...بازهم ممنون

  14. #14
    کاربر دائمی آواتار zayens
    تاریخ عضویت
    آبان 1387
    محل زندگی
    تهران - بهارستان
    پست
    591

    نقل قول: زدن یک دکمه در فرم و اجرای عملیات روی فرمی دیگر

    ببخشید یه سوال دیگه هم داره میاد تو ذهنم .... آره اومد ... درباره ی کامپوننت janus هستش
    یه ButtonBar چه جوری کار میکنه؟
    وقتی من در هر group چند تا New Item میسازم تا وقتی کاربر هر آیتم را کلیک کنه به فرمی بره، این کار انجام نمیشه
    در واقع وقتی روی هر آیتم دابل کلیک می کنم تا کدی براشون تعریف کنم همشون یه تابع را باز می کنن... آخه واسه چی؟؟
    راستی .... بازم ممنون

  15. #15

    نقل قول: زدن یک دکمه در فرم و اجرای عملیات روی فرمی دیگر

    ببخشید یه سوال دیگه هم داره میاد تو ذهنم .... آره اومد ... درباره ی کامپوننت janus هستش
    دوست عزیز، هر تاپیک برای بحث درباره یک موضوع هست؛ همان موضوعی که در عنوان تاپیک ذکر کردید.
    اگر سوالهای مختلفی دارید که با موضوع تاپیک مستقیما مربوط نمیشند، باید ابتدا جستجو کنید که سوالتان تکراری نباشه، اگر تکراری نبود، آن را در یک تاپیک جداگانه ارسال کنید. نه اینکه همه سوالهای خودتان را در یک تاپیک بپرسید.

    موفق باشید


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

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

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