İnternet Explorer9 deki Başlık Çubuğu gibi Başlık Çubuğuna TextBox, Buton felan eklemek ?

Yanıt İnternet Explorer9 deki Başlık Çubuğu gibi Başlık Çubuğuna TextBox, Buton felan eklemek ?

  • 27 Mayıs 2012 Pazar 14:16
     
     
    Arkadaşlar birşey merak ediyorum. Bu İE9 daki gibi başlık çubuğuna buton felan nasıl ekleyebiliriz ? Arka plan şeffaf olacak şekilde.

Tüm Yanıtlar

  • 27 Mayıs 2012 Pazar 15:45
     
     

    Merhaba Abdulkadir,
    BindingNavigator kullanarak bu dediklerini yapabilirsin ... bir araç çubuğu oluşturabilir ve buton label textbox gibi nesneler ekleyebilirsin şeffaf olması içinde linkleri incelemeni tavsiye ederim ...

    http://www.csharpnedir.com/forum2/printer_friendly_posts.asp?TID=5249

    http://www.c-sharpcorner.com/uploadfile/scottlysle/xparentformscs10282007212944pm/xparentformscs.aspx

    http://www.codeproject.com/Articles/6502/Transparency-Tutorial-with-C-Part-1

    Umarım işinize yarar
    Kolay Gelsin...

     

    erenbozarik[at]hotmail[nokta]com

  • 30 Mayıs 2012 Çarşamba 13:57
     
     

    Öncelikle teşekkür ederim cevap ve ilginiz için ama ben yapmak istediğimi tam olarak anlatamadım herhalde yapmak istediğim tam olarak şu :

    Bunun gibi başlık çubuğuna (kapat, aşağı indir ve tam ekran yap butonlarının olduğu yere) istediğim nesneleri eklemek. Nasıl yapabilirim ?

  • 30 Mayıs 2012 Çarşamba 14:27
    Moderatör
     
     
    Kendinize bir userkontrol yapabilirsiniz. içinde dropdown ve buttonlar olan.

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC

  • 30 Mayıs 2012 Çarşamba 15:02
     
     
    nasıl yapabilirim bunu ???
  • 30 Mayıs 2012 Çarşamba 19:09
    Moderatör
     
     Önerilen Yanıt

    nasıl sorusunun yanıtı geniş olur biraz. 

    genel olarak anlatmaya çalışayım.

    • Projenize UserControl ekleyin
    • bir panel ekleyin ve dock = fill yapın
    • görsel olarak benzetmek için border styleını 3D yapın back colorunuda beyaz yapın
    • sonra 16x16 picturebox ekleyin 
    • combobox ekleyin
    • butonlarınızı ekleyin
    • butonlara ait delegate ve eventlerinizi tanımlayın.
    • kullanacağınızda toolbox tan formunuz üzerine sürükleyin

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC



  • 31 Mayıs 2012 Perşembe 14:36
     
     

    Yine anlatamadım herhalde.

    Aşağıdaki resme bakın lütfen...

  • 31 Mayıs 2012 Perşembe 18:23
    Moderatör
     
     

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC

  • 01 Haziran 2012 Cuma 11:16
     
     
    Evet yaa tam istediğim şey :D Nasıl yaptın bunu ???
    Ayrıca arka plandaki kullandığın editör ne ? Visual Studio 2010 mu daha iyi o mu ???
  • 01 Haziran 2012 Cuma 11:55
    Moderatör
     
     
    ExpressionBlend4 ile WPF projesi yaptım, ancak üstteki şeffaf alanı yapmak için Margin belirtmek gerekiyor bunu da DllImport ile Vista ve Windows7 de olan dwm.exe ye bağlı bir dll'i import ettim ama aklımda değil şu an eve gidince yazarım.

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC

  • 01 Haziran 2012 Cuma 11:59
     
     
    Teşekkürler. Bekliyorum...
  • 02 Haziran 2012 Cumartesi 16:14
     
     

    Unuttunuz mu yoksa :O :D

  • 02 Haziran 2012 Cumartesi 19:13
    Moderatör
     
     Yanıt Kod İçerir
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Shapes;
    using System.Runtime.InteropServices;
    using System.Windows.Interop;
    
    namespace WpfApplication1
    {
    
    
    
    	/// <summary>
    	/// Interaction logic for MainWindow.xaml
    	/// </summary>
    	public partial class MainWindow : Window
    	{
    
    		[StructLayout(LayoutKind.Sequential)]
    		public struct MARGINS
    		{
    			public int cxLeftWidth;      // width of left border that retains its size
    			public int cxRightWidth;     // width of right border that retains its size
    			public int cyTopHeight;      // height of top border that retains its size
    			public int cyBottomHeight;   // height of bottom border that retains its size
    		};
    
    
    		[DllImport("DwmApi.dll")]
    		public static extern int DwmExtendFrameIntoClientArea(
    			IntPtr hwnd,
    			ref MARGINS pMarInset);
    
    		public MainWindow()
    		{
    			this.InitializeComponent();
    
    			// Insert code required on object creation below this point.
    		}
    
    		private void Window_Loaded(object sender, System.Windows.RoutedEventArgs e)
    		{
    			try
    			{
    				// Obtain the window handle for WPF application
    				IntPtr mainWindowPtr = new WindowInteropHelper(this).Handle;
    				HwndSource mainWindowSrc = HwndSource.FromHwnd(mainWindowPtr);
    				mainWindowSrc.CompositionTarget.BackgroundColor = Color.FromArgb(0, 0, 0, 0);
    				this.Background = new SolidColorBrush(Color.FromArgb(0, 255, 255, 255));
    				// Get System Dpi
    				System.Drawing.Graphics desktop = System.Drawing.Graphics.FromHwnd(mainWindowPtr);
    				float DesktopDpiX = desktop.DpiX;
    				float DesktopDpiY = desktop.DpiY;
    
    				// Set Margins
    				MARGINS margins = new MARGINS();
    
    				// Extend glass frame into client area
    				// Note that the default desktop Dpi is 96dpi. The  margins are
    				// adjusted for the system Dpi.
    				margins.cxLeftWidth = Convert.ToInt32(5 * (DesktopDpiX / 96));
    				margins.cxRightWidth = Convert.ToInt32(5 * (DesktopDpiX / 96));
    				margins.cyTopHeight = Convert.ToInt32(((int)topBar.ActualHeight + 5) * (DesktopDpiX / 96));
    				margins.cyBottomHeight = Convert.ToInt32(5 * (DesktopDpiX / 96));
    
    				int hr = DwmExtendFrameIntoClientArea(mainWindowSrc.Handle, ref margins);
    				//
    				if (hr < 0)
    				{
    					//DwmExtendFrameIntoClientArea Failed
    				}
    			}
    			catch (DllNotFoundException)
    			{
    			    Application.Current.MainWindow.Background = Brushes.White;
    			}
    		}
    	}
    }
    evet unutmuşum

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC

  • 02 Haziran 2012 Cumartesi 19:53
     
     
    Bunu bir dll olarak kaydetip tüm projelerimde kullanabilir miyim ? yapabilirsem nasıl yapabilirim ? Eğer bununda cevabını verirseniz gerçekten çok sevinirim :D
    Ayrıca kodları yapıştırdığımda topBar kısmı hata verdi neden ?
  • 02 Haziran 2012 Cumartesi 20:24
     
      Kod İçerir

    Neyse sorunu çözdüm. XAML kodlarını vermeyi unutmuşsun. Onuda ben koyim belki başkalarına lazım olur.

    <Window x:Class="SDKSample.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Extended Glass in WPF" Height="300" Width="400" 
        Loaded="OnLoaded" Background="Transparent"
        >
      <Grid ShowGridLines="True">
        <DockPanel Name="mainDock">
          <!-- The border is used to compute the rendered height with margins.
               topBar contents will be displayed on the extended glass frame.-->
          <Border Name="topBar" DockPanel.Dock="Top" >
            <Grid Name="grid">
              <Grid.ColumnDefinitions>
                <ColumnDefinition MinWidth="100" Width="*"/>
                <ColumnDefinition Width="Auto"/>
              </Grid.ColumnDefinitions>
              <TextBox Grid.Column="0" MinWidth="100" Margin="0,0,10,5">Path</TextBox>
              <TextBox Grid.Column="1" MinWidth="75" Margin="0,0,0,5">Search</TextBox>
            </Grid>
          </Border>
          <Grid DockPanel.Dock="Top" >
            <Grid.ColumnDefinitions>
              <ColumnDefinition/>
            </Grid.ColumnDefinitions>
            <TextBox Grid.Column="0" AcceptsReturn="True"/>
          </Grid>
        </DockPanel>
      </Grid>
    </Window>
    

    topBar burada nesne ekleyeceğimiz kısım oluyor.

    Ayrıntılı bilgi için : http://msdn.microsoft.com/en-us/library/ms748975(v=vs.90).aspx

    Alıntıdır...

  • 02 Haziran 2012 Cumartesi 22:18
    Moderatör
     
     

    .xaml bilerek vermedim. O kısım sana kalmış. 

    Ben olsam bunu, dll değilde , master Window yaparım, diğer Windowlarımı bundan inherit ederim.


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC

  • 03 Haziran 2012 Pazar 09:20
     
     
    O nasıl oluyo biraz açıklayabilir misiniz ?
  • 10 Haziran 2012 Pazar 10:27
     
     
    Arkadaşım birşey merak ediyorum. Şimdi biz bu çerçeveleri şeffaf ve bulanık yaptık ya, biz bunu hafif turuncumsu veya mavimsi nasıl yapabiliriz ?
  • 10 Haziran 2012 Pazar 21:06
     
     Yanıt Kod İçerir
     

    Merhaba , Abdulkadir 
    Konu kapatılmış olarak göründüğü için soruna cevap gelmemiş bu yüzden sorularınızı ayrı başlıklar altında sormanızı tavsiye ederim.Daha çabuk çözüm bulabilirsiniz.
    Çözüm önerime gelecek olursak Önay Hocam'ın dediklerini yaptıysan artık Express Blend4 kullandığını varsayarak aşağıdaki kodları denemeni öneririm..
    Kodlar xaml dosyasına yazılacak .

    <Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      WindowTitle="SystemColors Example" Background="White">  
      <StackPanel Margin="20">
        <Button 
          Background="{DynamicResource {x:Static SystemColors.DesktopBrushKey}}" 
          Content="Hello, World!" />
      </StackPanel>
    </Page>

    Ayrıntılı Bilgi :http://stackoverflow.com/questions/4968562/wpf-windows-background-color 

    Eğer kaynak yeterli olmazsa arama yapmak için anahtar kelimeleriniz 
    WPF BackgrounColor
    WPF Main Window Color 
    şeklinde arama yaparsan yeterli bilgiye ulaşacağını düşünüyorum ... 
    Kolay Gelsin ..