دسته بندی ها
14:15 1398/09/07

minimize و maximize کردن پنجره های wpf

مشخصات سوال کننده :
کاربر : rezajavaheri68     امتیاز کاربر : 0     رتبه کاربر : 7018
دسته بندی : WPF

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 4380
پاسخ دهنده : pedram_khan 19:02 1398/09/07

برای کمینه کردن پنجره ها در Wpf یا همون Minimize کردن فرم می تونید به راحتی از دستور زیر استفاده کنید

 

this.WindowState = WindowState.Minimized;

 

همچنین برای بیشینه کردن پنجره ها در WPF یا همون Maximized کردن پنجره ها می تونید به راحتی از دستور زیر استفاده کنید

 

this.WindowState = WindowState.Maximized;

 

کافیه یه button روی پنجره خودتون قرار بدید و در رویداد کلیک اون قطعه کد بالا رو بنویسید. به این صورت پنجره شما به صورت minimize شده در میاد. حالا اگر بخاید بررسی کنید که آیا پنجره شما یا یکی از فرم های شما minimize یا maximize هست می تونید به صورت زیر کنترل کنید

 

Form1 frm = new Form1;
If (frm.WindowState == WindowState.Minimized)
  {
     frm.WindowState = WindowState.Maximized;
  }

 

با استفاده از کدهای بالا می تونید یک پنجره رو minimize کنید یا اصطلاحا بندازیدپایین و همچنین کنترل کنید که اگر یک فرم کمینه بود به صورت اتوماتیک اون پنجره خاص بزرگ بشه.

 

برای کسب اطلاعات بیشتر در مورد پنجره های WPF و کمینه کردن (Minimized) پنجره ها به این لینک می تونید مراجعه کنید.

همچنین برای کسب اطلاعات بیشتر در مورد پنجره های WPF و بیشینه کردن (Maximized) پنجره ها به این لینک می تونید مراجعه کنید.

به این پاسخ امتیاز بدهید    0
امتیاز: 277 رتبه: 6
پاسخ دهنده : Sowgandi 23:31 1398/09/07

با سلام. دوست گرامی برای بازگرداندن تمامی فرم های مینیمایز شده از  دستور زیر استفاده کنید.

  foreach (Window win in System.Windows.Application.Current.Windows)
  {
 if (win.WindowState == WindowState.Minimized)
                    {
                        win.WindowState = WindowState.Normal;
                    }
}

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

  foreach (Window win in System.Windows.Application.Current.Windows)
  {
 if (win.WindowState == WindowState.Minimized && win.Name == "MyWindow")
                    {
                        win.WindowState = WindowState.Normal;
                    }
}

موفق یاشید.

به این پاسخ امتیاز بدهید    0
امتیاز: 871 رتبه: 3
پاسخ دهنده : rezajavaheri68 20:59 1398/09/10

سلام دستان ممنون بابت راهنمایی.ولی این دستورات که گفته اید وقتی فرم مینیمایز میشه نمیشه نرمال کرد.سوالم به صورت کلی اینه که دیدید وقتی یه فرمی را در برنامه ای باز میکنیم و مینیمایز میکنیم اگه دوباره همون دکمه قبلی را بزنه اگه فرم جدید مینیمایز باشه ان را نرمال میکنه و اگه باز نباشه فرم جدید بازمیکنه.مشکل من در نرمال باز کردن فرم بعد از مینیمایز کردن اسن.

به این پاسخ امتیاز بدهید    0
امتیاز: 0 رتبه: 7018
پاسخ دهنده : Sowgandi 21:49 1398/09/10

دوست عزیز شما برای این کار ابتدا در ویندوی که میخواهید باز شود در قسمت Xaml آن  یک نام به دلخواه به فرم یا پنجره خود بدهید. مثال:

Title="users" Name="MyWindow" Height="376.286" Width="1014.965"   WindowState="Maximized" >

سپس پشت دکمه ای که پنجره را باز می کنید کد زیر رو بنویسید.

  Window mywin = new Window(); // در این قسمت ویندو مورد نظر را تعریف کنید

  bool IsOpen = false;
  foreach (Window win in System.Windows.Application.Current.Windows)
  {
        if (win.Name == "MyWindow")
        {
            IsOpen = true;
            breake;
        }
  }

if(IsOpen == false)
{
  mywin.Show();
}
else
{
  foreach (Window win in System.Windows.Application.Current.Windows)
  {
        if (win.Name == "MyWindow")
        {
           win.WindowState = WindowState.Normal;
        }
  } 
}

 

به این پاسخ امتیاز بدهید    2
امتیاز: 871 رتبه: 3
پاسخ دهنده : rezajavaheri68 18:56 1398/09/16

سلام .ممنون بابت راهنمایی .

به این پاسخ امتیاز بدهید    0
امتیاز: 0 رتبه: 7018
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود