پسرم!
اگر بخواهم نتیجه چند سال فعالیت در زمینه الکترونیک (مشخصا این یک سال و خورده ای) را در یک جمله به تو بگویم، این است که: “منبع تغذیه (آداپتور) ارزان نخر پشیمان میشوی!”
پسرم!
اگر بخواهم نتیجه چند سال فعالیت در زمینه الکترونیک (مشخصا این یک سال و خورده ای) را در یک جمله به تو بگویم، این است که: “منبع تغذیه (آداپتور) ارزان نخر پشیمان میشوی!”
فرض کنید داخل پرونده Xaml تان دو SolidColorBrush تنظیم کرده اید و قصد دارید در طول برنامه سی شارپتان رنگ پس زمینه یک عنصر را بین آن دو جابجا کنید؛ اگر در اینترنت مقداری بگردید، اکثرا این کد را به شما پیشنهاد می کنند:
|
1 |
myElement.Background = this.Resource[key]; |
اما این کد باعث می گردد تا مقدار آن SolidColorBrush تنها در لحظه محاسبه شده و تنظیم گردد؛ در حالی که ما نیاز داریم تا اگر مقدار SolidColorBrush را تغییر دادیم رنگ اجزای استفاده کننده از آن نیز به صورت خودکار تغییر کنند.
پس از مقداری جستجو به کد های زیر رسیدم:
در XAML:
|
1 |
<Grid x:Name="myElement" Background="{DynamicResource key}"/> |
در C#:
|
1 2 |
myElement.SetResourceReference(Grid.BackgroundProperty, "key"); // Grid صفت عنصر ماست (Border,Button,...) |
گاهی اوقات قصد داریم تا پرونده ای را از یک نشانی خشک فراخوانی کنیم (مثل C:/Folder/File.jpg)؛ گاهی اوقات پرونده ما در کنار فایل exe برنامه قرار گرفته که آن هم روش خودش را دارد اما گاهی اوقات می خواهیم از پرونده هایی که در خود سلوشن قرار داده ایم استفاده کنیم.
کد زیر را چندین بار به دست آورده بودم اما فراموش می کردم؛ با شما به اشتراک می گذارم تا خودم هم فراموش نکنم:
|
1 2 |
myImage = new BitmapImage(new Uri(@"pack://application:,,,/" + Assembly.GetCallingAssembly().GetName().Name + ";component/" + "pics/bahar.jpg", UriKind.Absolute)); img_sidebar.ImageSource = myImage; |
ویرایش ۲۳ خرداد ۱۴۰۱: اگر در اسم پروژه از فاصله استفاده شده باشد آن GetName کار نمیکند! فعلا اسم پروژه را دستی وارد کردم…
![]()
ویژوال استدیو 2019 پس از چندین ماه در دوم آوریل 2019 به صورت رسمی منتشر شد و هم اکنون قابل دریافت می باشد.
جهت فعالسازی نسخه های Professional و Enterprise آن می توانید از شماره سریال های زیر استفاده نمایید:
Visual Studio 2019 Enterprise
BF8Y8-GN2QH-T84XB-QVY3B-RC4DF
Visual Studio 2019 Professional
NYWVH-HT4XC-R2WYW-9Y3CM-X4V3Y
بروزرسانی:
Visual Studio 2022 Enterprise
VHF9H-NXBBB-638P6-6JHCY-88JWH
Visual Studio 2022 Professional
TD244-P4NB7-YQ6XK-Y8MMM-YWV2J
به یاد دارم که وقتی در کودکی متوجه شدم که فقط با جابجا کردن سیم های مثبت و منفی آرمیچر جهت چرخش آن عوض می شود چقدر خوشحال شدم! انگار که باری از روی دوشم برداشته شد! البته نمی دانم چرا هر چند وقت یکبار به این تجربه شک می کنم و دوباره با امتحان آن خوشحال می شوم! ?
–
مدتی قبل مشغول طراحی و اجرای یک تابلوی نمونه ی IoT (اینترنت اشیاء) بودم؛ بخشی از آن برای نمایش کنترل پرده ی فرضی از راه دور بود. پرده با یک موتور گیربکسی پیچیده می شد و دوباره با حرکت معکوس پایین می آمد؛ برای کنترل موتور پرده هم دو رله در اختیار داشتم که با ریزپردازنده خاموش و روشن می شد.
بعد از کمی جستجو برای یافتن مداری که بتوان با دو کلید موتور را راستگرد و چپگرد کرد، با پل H یا H-Bridge آشنا شدم:

در این مدار می توان به راحتی با تغییر وضعیت کلید های ۱ و ۴ و همچنین کلید های ۲ و ۳، بدون هیچ زحمتی جهت موتور را تغییر داد. با الهام از طرح بالا، به طرح زیر برای استفاده در دو رله می رسیم:

تصویر بسیار گویاست؛ با تغییر وضعیت رله ها، نوع قطب دو سر موتور تعیین می شود. برای خاموش کردن موتور هم می توان همزمان هر دو رله را در وضعیت A یا B قرار داد.