PDA

View Full Version : تغییر رنگ پس زمینه یک فرم



roox_3000
شنبه 08 تیر 1392, 04:00 صبح
با سلام خدمت دوستان و اساتید

من تو برنامم نیاز به تغییر رنگ دیالوگ و کنترل ها با گرفتن هندل اونا دارم ; که با c# کار میکنم اما تنها نمونه کدی که پیدا کردم به زبان c++ بود ; اگه دوستان به این دو زبان مسلط هستن , لطفا این نمونه کد رو به زبان c# تبدیل کنن

ممنون




HBRUSH g_hbrBackground = CreateSolidBrush(RGB(0, 0, 0));


case WM_CTLCOLORDLG:
return (LONG)g_hbrBackground;
case WM_CTLCOLORSTATIC:
{
HDC hdcStatic = (HDC)wParam;
SetTextColor(hdcStatic, RGB(255, 255, 255));
SetBkMode(hdcStatic, TRANSPARENT);
return (LONG)g_hbrBackground;
}
break;

mehdi.mousavi
چهارشنبه 12 تیر 1392, 11:26 صبح
با سلام خدمت دوستان و اساتید من تو برنامم نیاز به تغییر رنگ دیالوگ و کنترل ها با گرفتن هندل اونا دارم ; که با c# کار میکنم اما تنها نمونه کدی که پیدا کردم به زبان c++ بود ; اگه دوستان به این دو زبان مسلط هستن , لطفا این نمونه کد رو به زبان c# تبدیل کنن

سلام.
برای تغییر Background Color یک فرم در C#، کافیست تا BackColor Property ی فرم مورد نظر رو به رنگ دلخواه ست کنید:

BackColor = Color.Red;

موفق باشید.

پ.ن.: سوال شما به بخش C# منتقل شد.

hamid_hr
چهارشنبه 12 تیر 1392, 11:39 صبح
Control someControl = Control.FromHandle(myHandle);
someControl.BackColor = SystemColors.Black;

roox_3000
چهارشنبه 19 تیر 1392, 03:21 صبح
کاش هم انقددر آسون بود :چشمک:

دوستان عزیز فکر میکنم متوجه منظور من نشدید و یا من نتونستم منظورمو برسونم

دیالوگ مربوط به یک برنامه دیگر است و من با برنامه ای که در سی شارپ نوشتم و با کمک توابع API , و فرستادن پیغام هایی مثل WM_CTLCOLORDLG... با تابع sendmessage میخوام رنگ پس زمینه اونو تغییر بدم

و برای همین ذکر کردم با گرفتن هندل اونا و اگه غیر از این بود نیازی به عوض کردن پس زمینه با گرفتن هندل نداشتم