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

نام تاپیک: تغییر رنگ پس زمينه دسكتاپ

  1. #1
    کاربر تازه وارد آواتار repo20
    تاریخ عضویت
    دی 1388
    محل زندگی
    دنياي سي شارپ
    پست
    30

    تغییر رنگ پس زمينه دسكتاپ

    سلام دوستان

    میخام برنامه رنگ را از ColorDialog بگیره و رنگ پس زمینه دسکتاپ ویندوز را به آن رنگ تغییر بده.
    منظورم همون رنگیه که تصویر در حالت Center اطراف عکس را پر میکنه.
    لطفا کمک کنید.
    ممنون.

  2. #2

    نقل قول: تغییر رنگ پس زمينه دسكتاپ

    ابتدا تو قسمت Using کد زیر رو بنویس

    using System.Runtime.InteropServices;
    بعد کد پایینی رو هم در اول کلاس فرمت بنویس

            [DllImport("user32.dll")]
    public static extern bool SetSysColors(int cElements, int[] lpaElements, uint[] lpaRgbValues);



    const int COLOR_DESKTOP = 1;

    uint RGB(byte byRed, byte byGreen, byte byBlue)
    {
    uint res = byBlue;
    res = res << 8;
    res += byGreen;
    res = res << 8;
    res += byRed;
    return res;
    }
    int[] aiElements = { COLOR_DESKTOP };
    uint[] aColors = { 0 };
    بعد هم جایی که میخواهی رنگ رو تغییر بدی از دو دستور زیر استفاده کن البته من در اینجا از رنگ قرمز استفاده کردم ولی تو باید از رنگ ColorDialog استفاده کنی

                aColors[0] = RGB(Color.Red.R,Color.Red.G ,Color.Red.B );
    SetSysColors(1, aiElements, aColors);

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

  3. #3
    کاربر تازه وارد آواتار repo20
    تاریخ عضویت
    دی 1388
    محل زندگی
    دنياي سي شارپ
    پست
    30

    نقل قول: تغییر رنگ پس زمینه دسکتاپ

    نقل قول نوشته شده توسط rezatati مشاهده تاپیک
    ابتدا تو قسمت Using کد زیر رو بنویس

    using System.Runtime.InteropServices;
    بعد کد پایینی رو هم در اول کلاس فرمت بنویس

            [DllImport("user32.dll")]
    public static extern bool SetSysColors(int cElements, int[] lpaElements, uint[] lpaRgbValues);



    const int COLOR_DESKTOP = 1;

    uint RGB(byte byRed, byte byGreen, byte byBlue)
    {
    uint res = byBlue;
    res = res << 8;
    res += byGreen;
    res = res << 8;
    res += byRed;
    return res;
    }
    int[] aiElements = { COLOR_DESKTOP };
    uint[] aColors = { 0 };
    بعد هم جایی که میخواهی رنگ رو تغییر بدی از دو دستور زیر استفاده کن البته من در اینجا از رنگ قرمز استفاده کردم ولی تو باید از رنگ ColorDialog استفاده کنی

                aColors[0] = RGB(Color.Red.R,Color.Red.G ,Color.Red.B );
    SetSysColors(1, aiElements, aColors);

    اگه با این کد مشکلی داشتی بگو
    آقا دمت گرم فقط چطوري رنگ ColorDialog را به اون بدم.

  4. #4
    کاربر دائمی آواتار Reza1607
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    يه جايي تو مشهد
    پست
    969

    نقل قول: تغییر رنگ پس زمینه دسکتاپ

    نقل قول نوشته شده توسط repo20 مشاهده تاپیک
    آقا دمت گرم فقط چطوری رنگ ColorDialog را به اون بدم.
    رنگ colordialog باید با این دستور بگیری
    Color a;
    colorDialog1.ShowDialog();
    a = colorDialog1.Color;
    SetSysColors(1, aiElements, a);

    ولی نتونستم از کدی که دوستمون rezatati دادن استفاده کنم اگه شما تونستی من رو هم راهنمایی کنید

  5. #5
    کاربر تازه وارد آواتار repo20
    تاریخ عضویت
    دی 1388
    محل زندگی
    دنياي سي شارپ
    پست
    30

    نقل قول: تغییر رنگ پس زمینه دسکتاپ

    نقل قول نوشته شده توسط Reza1607 مشاهده تاپیک
    رنگ colordialog باید با این دستور بگیری
    Color a;
    colorDialog1.ShowDialog();
    a = colorDialog1.Color;
    SetSysColors(1, aiElements, a);

    ولی نتونستم از کدی که دوستمون rezatati دادن استفاده کنم اگه شما تونستی من رو هم راهنمایی کنید

    دوست عزيز كد جواب نميده و كد دوستمون rezatati رنگ قرمز را براي Back Color قرار داد و مشكلي هم نداشت فقط نمي دونم چطوري رنگ را از colorDialog به اون بدم.

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

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