PDA

View Full Version : گفتگو: ساخت دکمه در دسکتاپ با سی شارپ



alish123456
جمعه 08 مرداد 1395, 13:04 عصر
سلام به همه
من میخواستم بدونم توی سی شارپ چطور میتونم همچین دکمه هایی بسازم که روی دسکتاپ بیان؟

http://8pic.ir/images/lmrftgo1g5c80ucu213s.png

(این دکمه ها از نرم افزار PC App Store هستن که روی دسکتاپ ایجاد میشن)

omid nasri
جمعه 08 مرداد 1395, 17:55 عصر
برای چنین کارهای پیشنهاد میکنم به سمت WPF برید و اما در صورتی که از ویندوز فرم استفاده می‌کنید یک یوزر کنترل ایجاد کنید و اشیای خودتون رو در آن قرار داده و با استفاده از خاصیت Opacity این کار رو انحام بدید.
لازم هستش از فتوشاپ هم استفاده کنید.

alish123456
جمعه 08 مرداد 1395, 18:18 عصر
برای چنین کارهای پیشنهاد میکنم به سمت WPF برید و اما در صورتی که از ویندوز فرم استفاده می‌کنید یک یوزر کنترل ایجاد کنید و اشیای خودتون رو در آن قرار داده و با استفاده از خاصیت Opacity این کار رو انحام بدید.
لازم هستش از فتوشاپ هم استفاده کنید.
مرسی ممنون. بله از ویندوز فرم استفاده میکنم (مبتدی هستم)
شما یه لطف میکنید همچین چیزی رو که میخوام رو تو یه پروژه بهم بدین؟ گرافیکش زیاد مهم نیست! چندتا دکمه تو دسکتاپ ایجاد بشه بسه
ممنون

alish123456
جمعه 08 مرداد 1395, 22:55 عصر
کسی از بین این همه پیدا نمیشه همچین کدی بنویسه؟

alish123456
شنبه 09 مرداد 1395, 11:36 صبح
یکی کمک کنه :گریه:

systam
شنبه 09 مرداد 1395, 12:49 عصر
سلام م
یتونی با ابزار دات نت بار یک همچین چیزی رو درست کنی
141776

alish123456
شنبه 09 مرداد 1395, 13:26 عصر
سلام م
یتونی با ابزار دات نت بار یک همچین چیزی رو درست کنی
141776
میتونم همچین چیزی رو بسازم ولی چطوری بیارمش توی دسکتاپ؟؟
خارج از فرم هست

systam
شنبه 09 مرداد 1395, 14:10 عصر
میتونم همچین چیزی رو بسازم ولی چطوری بیارمش توی دسکتاپ؟؟
خارج از فرم هست

خیلی ساده میتونی این کار رو انجام بدی
من توی فرم یک button گذاشتم
اول از همه from border style رو فرمت رو none میکنی
و بعد با کمک این کد پس زمینه رو شفاف میکنی
this.TransparencyKey == this.BackColor
این کد رو توی لود فرم بزار
و اینم نتیجه کار
141780

خیلی شیک مجلسی
موفق باشی
یا علی

alish123456
شنبه 09 مرداد 1395, 16:53 عصر
خیلی ساده میتونی این کار رو انجام بدی
من توی فرم یک button گذاشتم
اول از همه from border style رو فرمت رو none میکنی
و بعد با کمک این کد پس زمینه رو شفاف میکنی
this.TransparencyKey == this.BackColor
این کد رو توی لود فرم بزار
و اینم نتیجه کار
141780

خیلی شیک مجلسی
موفق باشی
یا علی

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

inty = SystemInformation.PrimaryMonitorSize.Width;
intx = SystemInformation.PrimaryMonitorSize.Height;

با این میشه رزولوشن مانیتور رو به دست اورد

حالا چطور بقیش رو ادامه بدم که فرم تو قسمت مورد نظرم باز بشه؟

nurani
شنبه 09 مرداد 1395, 18:08 عصر
تشکر ممنون. راستش این هم به ذهن خودم اومد. ولی خواستم همه دکمه هایی که ایجاد میکنم جز خوده فرم اصلی باشه.
حالا زیاد هم مهم نیست. بازم ممنون. از همین روش استفاده میکنم
و یه چیز دیگه؟!
چطور به فرم (که قراره دکمه ها توش قرار بگیرن) مختصات بدم؟

inty = SystemInformation.PrimaryMonitorSize.Width;
intx = SystemInformation.PrimaryMonitorSize.Height;

با این میشه رزولوشن مانیتور رو به دست اورد

حالا چطور بقیش رو ادامه بدم که فرم تو قسمت مورد نظرم باز بشه؟


this.Top = (int)System.Windows.SystemParameters.VirtualScreen Height - 125;
this.Left = (int)System.Windows.SystemParameters.VirtualScreen Width - 135;

و یا

قرار دادن فرم در مکاني خاص
توي formload اينو بنويسيد. ريزوليشن سيستم رو 768*1024 فرض کردم.(البته اگه منظورتون همين باشه)

this.Width = 256;
this.Height = 724;
this.Location = new Point(768, 0);

و یا
نمایش فرم در گوشه پایین سمت راست
در رویداد فرم لود بنویسید

int boundWidth = Screen.PrimaryScreen.Bounds.Width;
int boundHeight = Screen.PrimaryScreen.Bounds.Height;
int x = boundWidth - this.Width;
int y = boundHeight - this.Height;
this.Location = new Point(x, y - 30);

alish123456
یک شنبه 10 مرداد 1395, 00:57 صبح
this.Top = (int)System.Windows.SystemParameters.VirtualScreen Height - 125;
this.Left = (int)System.Windows.SystemParameters.VirtualScreen Width - 135;

و یا

قرار دادن فرم در مکاني خاص
توي formload اينو بنويسيد. ريزوليشن سيستم رو 768*1024 فرض کردم.(البته اگه منظورتون همين باشه)

this.Width = 256;
this.Height = 724;
this.Location = new Point(768, 0);

و یا
نمایش فرم در گوشه پایین سمت راست
در رویداد فرم لود بنویسید

int boundWidth = Screen.PrimaryScreen.Bounds.Width;
int boundHeight = Screen.PrimaryScreen.Bounds.Height;
int x = boundWidth - this.Width;
int y = boundHeight - this.Height;
this.Location = new Point(x, y - 30);

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