عدم نمایش بخشی از پنجره wpf ویا خارج از نمایش شدن بخش پنجره در یک کامپیوتر دیگر با استفاده از فایل exe
با سلام،
بنده یک برنامه wpf ی دارم که وقتی اونو توی یه کامپیوتر دیگه با فایل exe ران می کنم برخی پنجره هاش از صفحه نمایشگر بیرون میافته(اندازش بزرگتر از ابعاد صفحه نمایش میشه) و باید با درگ کردن فرم اون مقدار از پنجره رو دید و برخی پنجره هاش علاوه بر اینکه بیرون از صفحه نمایش میافته، نشون داده هم نمیشه یا ناقص نمایش داده میشه.
یه مقدار سرچ کردم به جایی نرسیدم، چه دستوری رو میشه استفاده کرد به نظرتون؟
با سپاس فراوان از "پرس نت"
پاسخ هوش مصنوعی
برای جلوگیری از این مشکل و اطمینان از اینکه پنجره های WPF شما همیشه در محدوده صفحه نمایش قرار دارند، می توانید از کد زیر در هنگام بارگذاری پنجره استفاده کنید. این کد اندازه و موقعیت پنجره را محاسبه کرده و آن را به طوری تنظیم می کند که هرگز از مرزهای صفحه نمایش خارج نشود.
private void Window_Loaded(object sender, RoutedEventArgs e)
{
// اندازه صفحه نمایش را دریافت کنید
var screen = System.Windows.Forms.Screen.PrimaryScreen;
var screenBounds = screen.WorkingArea;
// موقعیت پنجره خود را بررسی کنید
if (this.Left < screenBounds.Left)
{
this.Left = screenBounds.Left;
}
if (this.Top < screenBounds.Top)
{
this.Top = screenBounds.Top;
}
if (this.Right > screenBounds.Right)
{
this.Left = screenBounds.Right - this.Width;
}
if (this.Bottom > screenBounds.Bottom)
{
this.Top = screenBounds.Bottom - this.Height;
}
}
در این کد، با توجه به ابعاد صفحه نمایش، موقعیت پنجره نسبت به مرزهای صفحه نمایش تنظیم می شود. این را در رویداد Loaded
پنجره قرار دهید تا قبل از نمایش پنجره اجرا شود.
سلام. شما باید فرم هاتون رو رسپانسیو بنویسید تا وقتی اندازه نمایشگر تغییر کرد، اندازه فرم هم به نسبت اون تغییر پیدا کنه.
اگر در مورد رسپانسیو کردن فرم اطلاعات کافی ندارید میتونید از لینک زیر کمک بگیرید و یا در اینترنت در این باره سرچ کنید.
فیلم آموزشی رسپانسیو کردن فرم در سی شارپ
یکی از راههای ریسپانسیو کردن پنجره ها در wpf استفاده از خط کش یا ruler هست. میتونید توی گوگل در این باره جستجو کنید.
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نحوه بزرگنمایی بخش خاصی از یک تصویر در WPF
- نحوه استفاده از رویداد SelectionChanged در WPF
- مشکل تاریخ شمسی در ویندوز 7 در WPF
- رفع خطای FileNotFoundException در Wpf
- کار با رویداد SelectedDateChanged در کامپوننت تاریخ شمسی در سی شارپ
- minimize و maximize کردن پنجره های wpf
- دانلود نرم افزار Material Design In XAML Toolkit
- نمایش عکس در DataGrid در Wpf
- حذف پروسیجر (Procedure) از مدل داده ای در Entity Framework
- اتصال دیتابیس اکسس به کریستال ریپوت