PDA

View Full Version : مشکل در resize کردن فرم



masoud60
پنج شنبه 26 اردیبهشت 1392, 11:49 صبح
سلام

من یک فرم دارم که از 3 قسمت تشکیل شده. برای هر کاربر نسبت به دسترسی تعریف شده قراره 1، 2 و یا همه قسمتها نشون داده بشن.
من چطور می تونم با حذف یکی از این ها سایز صفحه خودم رو به اندازه item هاش کنم؟ از چه کنترلی استفاده کنم؟


-------------------------------
http://www.kohan-co.net

hamed_hossani
پنج شنبه 26 اردیبهشت 1392, 12:11 عصر
برای panel ها از visibility="collapsed" استقاده کن.

masoud60
پنج شنبه 26 اردیبهشت 1392, 12:30 عصر
برای panel ها از visibility="collapsed" استقاده کن.

از stack panel استفاده کنم.

-----------------------------
http://www.kohan-co.net

مهدی فرزاد
شنبه 28 اردیبهشت 1392, 08:07 صبح
سلام
تمام کارهای زیر برای رسیدن به این منظور باید انجام بشه
1- برای پنجره طول و عرض تعیین نکنید
2- خاصیت SizeToContent پنجره رو برابر WidthAndHeight قرار بدید
3- هر قسمت رو در یک Panel جدا گانه قرار دهید
4- همه Panel هار رو درون یک Stack panel قرار بدید
5- برای Stack panel هم طول و عرض ایجاد نکنید
6- برای مخفی کردن هر Panel خاصیت Visibility رو برابر collapsed قرار بدید

masoud60
دوشنبه 30 اردیبهشت 1392, 13:09 عصر
من همه این کارها رو انجام دادم.داخل stackpanel 2 تا dockpanel گذاشتم. ولی محتویات داخل panel فقط visible = false میشن خودش همچنان می مونه


-------------------------------
http://www.kohan-co.net

masoud60
دوشنبه 30 اردیبهشت 1392, 13:25 عصر
نمونه کدی که نوشتم


<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:telerikDocking="clr-namespace:Telerik.Windows.Controls;assembly=Teleri k.Windows.Controls.Docking" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" x:Class="TimeControler.frmTime"
Title="ورود خروج" SizeToContent="WidthAndHeight"
WindowStartupLocation="CenterScreen" FontFamily="Tahoma" FlowDirection="RightToLeft" Icon="Clock.ico" Loaded="Window_Loaded" ResizeMode="CanMinimize" >
<Window.Background>
<LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5">
<GradientStop Color="#FFAEB2E2" Offset="0" />
<GradientStop Color="#FFF2E2E2" Offset="1" />
</LinearGradientBrush>
</Window.Background>

<Grid x:Name="pnl1" Margin="0,0,0,260.714" >
<StackPanel>

<DockPanel x:Name="pnlInOut" Margin="0,0,0,-90.714">
<Button x:Name="btnIn" Content="ثبت ورود" HorizontalAlignment="Left" Height="37" VerticalAlignment="Top" Width="116" Margin="35,21,0,0"/>
<Button x:Name="btnOut" Content="ثبت خروج" HorizontalAlignment="Left" Height="37" VerticalAlignment="Top" Width="116" RenderTransformOrigin="2.195,2.7" Margin="74,21,-48,0"/>
<CheckBox Content="تعطیل کاری" Height="14" Margin="84,0,104,44" Width="93" VerticalAlignment="Bottom" RenderTransformOrigin="-1.36,0.357"/>

</DockPanel>

<DockPanel x:Name="pnl2" Height="154" LastChildFill="False" Margin="0,107,0,-260.714" VerticalAlignment="Top">
<Button Content="Button" Height="154" VerticalAlignment="Top" Width="75"/>

</DockPanel>

</StackPanel>
</Grid>
</Window>



-----------------------
http://www.kohan-co.net

masoud60
شنبه 04 خرداد 1392, 11:17 صبح
سلام
کسی در این مورد اطلاعی نداره؟ نمی دونین اشکال از کجاست؟

--------------------------
http://www.kohan-co.net

Mahmoud.Afrad
شنبه 04 خرداد 1392, 13:59 عصر
margin منفی دیگه چه صیغه ایه؟!


<Grid x:Name="pnl1" >
<StackPanel>
<DockPanel x:Name="pnlInOut" Height="100">
<Button x:Name="btnIn" Content="ثبت ورود" Height="37" VerticalAlignment="Center" Width="116" Margin="35,0,25,0"/>
<Button x:Name="btnOut" Content="ثبت خروج" Height="37" VerticalAlignment="Center" Width="116" Margin="35,0,25,0"/>
<CheckBox Content="تعطیل کاری" VerticalAlignment="Center" Margin="10,10,20,10" />
</DockPanel>

<DockPanel x:Name="pnl2" Height="170" Margin="0,20,0,20.0">
<Button Content="Button" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="10" Width="75" Height="150" Click="Button_Click" />
</DockPanel>
</StackPanel>
</Grid>

s_h_lotfi
دوشنبه 06 خرداد 1392, 11:10 صبح
سلام
لطفا ابتدا همه ی پانل هایی که می خواین تحت شرایطی نمایش داده بشه و تحت شرایطی خیر رو داخل WrapPanel قرار بدید
به هرکدوم هم یه نام بدید
بعد در رویدادی که دوست دارید کد زیر رو بنویسین
Panel1.Visibility = Visibility.Collapsed;

مهدی فرزاد
سه شنبه 07 خرداد 1392, 09:36 صبح
شما کدوم کنترل هیا رو میخواید مخفی کنید ؟در کد شما اسمشون رو بگید

masoud60
سه شنبه 07 خرداد 1392, 15:48 عصر
شما کدوم کنترل هیا رو میخواید مخفی کنید ؟در کد شما اسمشون رو بگید

pnl2 , pnlInOut

------------------------------
http://www.kohan-co.net

مهدی فرزاد
چهارشنبه 08 خرداد 1392, 08:33 صبح
سلام
این به علت استفاده غلط شما از Margin هست
کد رو به این شکل اصلاح کنید

<Grid x:Name="pnl1" Margin="0" >
<StackPanel>

<DockPanel x:Name="pnlInOut" Margin="0,0,0,10">
<Button x:Name="btnIn" Content="ثبت ورود" HorizontalAlignment="Left" Height="37" VerticalAlignment="Top" Width="116" Margin="35,21,0,0"/>
<Button x:Name="btnOut" Content="ثبت خروج" HorizontalAlignment="Left" Height="37" VerticalAlignment="Top" Width="116" RenderTransformOrigin="2.195,2.7" Margin="74,21,-48,0"/>
<CheckBox Content="تعطیل کاری" Height="14" Margin="84,0,104,10" Width="93" VerticalAlignment="Bottom" RenderTransformOrigin="-1.36,0.357"/>

</DockPanel>

<DockPanel x:Name="pnl2" Height="154" LastChildFill="False" Margin="0" VerticalAlignment="Top">
<Button Content="Button" Height="154" VerticalAlignment="Top" Width="75"/>

</DockPanel>

</StackPanel>
</Grid>