1、WPF 设置TextBlock的字体颜色

   this.TextBlock1.Foreground = new SolidColorBrush(Colors.Black);

2、WPF TabControl纵向排列属性

        <TabControl TabStripPlacement="Top"/>     居上

        <TabControl TabStripPlacement="Bottom"/>  居下

        <TabControl TabStripPlacement="Left"/>   居左

        <TabControl TabStripPlacement="Right"/>   居右

3、Button和TextBox响应Enter事件

        WPFButton响应Enter键

        设置IsDefault属性

        (获取或设置一个值,该值指示Button 是否是一个默认按钮。 用户可以通过按 ENTER 键调用默认按钮。)

        WPFTextBox响应Enter键

        TextBox的KeyUp事件,判断按下取键的值,如果为Enter则代码调用一个点击事件。   // 姓名框响应回车事件

                private void name_KeyUp(object sender,KeyEventArgs e)

                {

                    if (e.Key == Key.Enter)

                    {

                        GrabImage_Click(sender, e);

                    }

                }

4、WPF控件的句柄显示视频信息

        WPF中的控件是没有句柄的,此时我们可以引用WinForm中的PictureBox控件来实现。

        WPF中引用WinForm控件

        (1)添加两个assembly引用

              WindowsFormsIntegration.dll andSystem.Windows.Forms.dll

       (2)WPF中使用GridView例子

5、换行的ToolTip

           1) 如果是绑定的后台的ToolTip

              设置style属性,绑定数值。

                  <StyleTargetType="ToolTip">

                        <SetterProperty="Template">

                            <Setter.Value>

                                <ControlTemplate>

                                    <TextBlockTextWrapping="Wrap" Width="200" Foreground="Red"/>

                                </ControlTemplate>

                            </Setter.Value>

                        </Setter>

                    </Style>

           2) 如果是手动填写的\R\N字符串,

                                                  需要通过Convert来实现

6、Image的Stretch属性

       Image的Stretch属性默认为Uniform,这代表图片会均匀的变大和缩小,保证了图片的比例不失调,而往往我们设置的宽和高并不符合图片的比例,因此显示效果就不是我们预期所想。

None——图片会按原始大小显示。

Fill—— 图片会按照设置的Width和Height显示,比例会失调

UniformToFill—— 图片会按照设置的Width和Height显示,但图片是均匀变大和缩小的,比例不失调,超出显示范围的图像会被截掉。

7、WPF|C# 播放报警音

[DllImport("kernel32.dll")]        private static extern int Beep(int dwFreq, int dwDuration);        private void Button_Click(object sender, RoutedEventArgs e)        {            int a = 0X7FF;            int b = 3000;  // 报警声音持续的长短            for (int i = 0; i < 3; i++)            {                Beep(a, b);                System.Threading.Thread.Sleep(300);            }        }

8、C#打开指定文件或文件夹

    System.Diagnostics.Process.Start()方法,

        该方法产生一个新进程,这个方法既可以打开文件夹也可以打开一个文件。

private void button1_Click(object sender,EventArgs e) 

     // 打开指定文件    

     System.Diagnostics.Process.Start(@"C:\Windows\notepad.exe"); 

 } 

 private void button2_Click(object sender,EventArgs e) 

{     //打开指定文件夹

     System.Diagnostics.Process.Start(@"C:\Windows"); 

9、解决visual studio空格变成很多点号的3种方法 

    在用visualstudio做网站时不知道按了什么快捷键,所有页面上的空格都变成了点号

    解决方法 1.编辑->高级->查看空白   2.Ctrl+E然后按S  3.Ctrl+R+W

10、C#设计的程序如何更改应用程序的图标

        1.当“解决方案资源管理器”中有项目选中时,在“项目”菜单上单击“属性”。

        2.选择“应用程序”窗格。

        3.从“图标”下拉列表中选择图标(.ico) 文件。

11、后台线程的特殊之处?

Background状态表示该线程在后台运行,那么后台运行的线程有什么特别的地方呢?

其实后台线程跟前台线程只有一个区别,那就是后台线程不妨碍程序的终止。一旦一个进程所有的前台线程都终止后,CLR(通用语言运行环境)将通过调用任意一个存活中的后台进程的Abort()方法来彻底终止进程。

12、