در این مطلب، روش ساخت یک برنامهی دسکتاپ چندسکویی Blazor 6x را که امکان به اشتراک گذاری کدهای خود را با یک برنامهی WinForms دارد، بررسی خواهیم کرد.
ایجاد برنامههای ابتدایی مورد نیاز
در ابتدا دو پوشهی جدید BlazorServerApp و WinFormsApp را ایجاد میکنیم. سپس از طریق خط فرمان در اولی دستور dotnet new blazorserver و در دومی دستور dotnet new winforms را اجرا میکنیم تا دو برنامهی خالی Blazor Server و همچنین Wi ...
مدتی بود بر روی یک پروژهی اتوماسیون اداری در VB.NET کار میکردیم. پروژهی ما بر روی سیستمی با رزولوشن بالا 2160 * 3840 و مانیتور 4K قرار داشت. بعد از اینکه لایه بندی و کدهای نرم افزار نوشته شد، نوبت به طراحی اینترفیس پروژه رسید. با مشکلی عجیب روبرو شدیم، به این صورت که در قسمت طراحی ویژوال استودیو، منوها، دکمهها و ... بیش از حد معمول کوچک و به هم ریخته بود. ولی زمانیکه پروژه اجرا میشد، نسبت به طراحی که در سمت وِیژوال استودیو انجام دا ...
در این نوشتار قصد داریم تا Theme ویژوال استودیو 2013 را برای برنامههای ویندوز شبیه سازی کنیم. در مرحله اول یک پروژه از نوع ClassLibrary میسازیم و پس از آن یک کلاس که از کلاس ToolStripProfessionalRenderer ارث بری کند را ایجاد میکنیم. در اینجا ما نام کلاس را BlueMenuStrip انتخاب میکنیم. از این کلاس برای تغییر رنگ منوها استفاده میشود. سپس متد OnRenderMenuItemBackground آنرا Override میکنیم. using System.Drawing;
using Sys ...
برخی اوقات نیاز است در یک فرم ویندوزی، کنترلهای آنرا در حال اجرا با استفاده از ماوس جابجا کنیم و یا اندازهی آنها را تغییر بدیم.
در وب راهکارهای مختلفی برای این کار ارائه شده، ولی این راهها معمولا یا فقط برای تغییر مکان و یا فقط برای تغییر اندازه کنترلها ارائه شدهاند. من یکی از مقالات کد پروجکت را که به جابجا کردن کنترلها پرداخته بود، توسعه دادم که امکان تغییر اند ...
برای شما هم پیش آمده که نرم افزاری را تهیه و منتشر کرده باشید و تمایل داشته باشید که استفاده کنندگان از وجود نسخه بروز شده مطلع شوند. یک راه ساده این است که اطلاعات نسخه جدید نرم افزار را داخل فایلی ذخیره کنیم و در وب سایت پشتیبانی نرم افزار قرار دهیم. حال بایستی اطلاعات این فایل را در زمان اجرای برنامه بررسی کنیم و در صورت وجود نسخه جدید از نرم افزار به کاربر اطلاع رسانی کنیم. ابتدا فایل اطلاعات بروز رسانی نرم افزار را تهیه میکنیم و د ...
چند روز قبل هنگام استفاده از DoEvents در یک برنامه windows forms ، ناگهان پیغام stack overflow ظاهر شد! برای علت یابی و رفع آن کمی جستجو کردم که خلاصهی آن به شرح زیر است:DoEvents چیست؟DoEvents یکی از متدهای کلاس Application در فضای نام System.Windows.Forms است.ویندوز جهت مدیریت رخدادهای مختلف از یک صف استفاده میکند. رخدادهایی مانند کلیک ماوس، تغییر اندازهی یک فرم و مواردی شبیه به آن ابتدا در یک صف قرار میگیرند و سپس پردازش میشوند. زما ...
با هر بار اضافه کردن یک سطر به ListView ، تمام ناحیه پس زمینه کنترل به روز شده و مشکل چشمک زدن (Flicker) آزار دهندهای را پدید میآورد. راه حلهای زیادی برای رفع این مشکل وجود دارد. برای مثال استفاده از متدهای BeginUpdate و EndUpdate قبل و پس از افزودن تعداد زیادی رکورد به یک ListView . اما اگر این کنترل توسط چند ترد در حال به روز رسانی باشد و هربار هم تعداد آیتمهای اضافه شده آنچنان زیاد نباشد، این روش اثری نداشته و باز هم مشکل flickering ...
شبیه به نحوهی به دام انداختن خطاهای مدیریت نشده در Web forms و روال استاندارد Application_Error ، در برنامههای Windows forms نیز این امر به صورت زیر ممکن است:using System;using System.Threading;using System.Windows.Forms;namespace testWinForms87{ static class Program { /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { // handling UI thread exce ...