最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于WPF實現(xiàn)多選下拉控件的示例代碼

 更新時間:2023年02月01日 14:19:55   作者:驚鏵  
這篇文章主要為大家詳細介紹了WPF實現(xiàn)簡單的多選下拉控件,文中的示例代碼講解詳細,對我們學習或工作有一定幫助,感興趣的小伙伴可以了解一下

WPF 實現(xiàn)多選下拉控件

框架使用.NET40;

Visual Studio 2022;

創(chuàng)建控件 MultiSelectComboBox 繼承 ListBox 。

  • 依賴屬性 IsSelectAllActive 是否支持顯示全選,默認 false 。
  • 依賴屬性 SelectAllContent 全選控件的 Content,默認顯示 全選 。
  • 依賴屬性 Delimiter 分隔符,默認顯示 ; 。
  • 依賴屬性 Text 顯示選擇的所有 Item 。
  • 其他與ComboBox 依賴屬性一致。

實現(xiàn)代碼

1) MultiSelectComboBox.xaml 代碼如下:

using?System;
using?System.ComponentModel;
using?System.Linq;
using?System.Windows;
using?System.Windows.Controls;
using?System.Windows.Controls.Primitives;
using?System.Windows.Input;
using?System.Windows.Threading;

namespace?WPFDevelopers.Controls
{
????public?class?MultiSelectComboBox?:?ListBox
????{
????????private?const?string?PART_Popup?=?"PART_Popup";
????????private?const?string?PART_CheckBoxAll?=?"PART_CheckBoxAll";

????????public?static?readonly?DependencyProperty?IsDropDownOpenProperty?=
????????????DependencyProperty.Register("IsDropDownOpen",?typeof(bool),?typeof(MultiSelectComboBox),
????????????????new?PropertyMetadata(false));

????????public?static?readonly?DependencyProperty?MaxDropDownHeightProperty
????????????=?DependencyProperty.Register("MaxDropDownHeight",?typeof(double),?typeof(MultiSelectComboBox),
????????????????new?PropertyMetadata(SystemParameters.PrimaryScreenHeight?/?3));

????????public?static?readonly?DependencyProperty?SelectAllContentProperty?=
????????????DependencyProperty.Register("SelectAllContent",?typeof(object),?typeof(MultiSelectComboBox),
????????????????new?PropertyMetadata("全選"));

????????public?static?readonly?DependencyProperty?IsSelectAllActiveProperty?=
????????????DependencyProperty.Register("IsSelectAllActive",?typeof(bool),?typeof(MultiSelectComboBox),
????????????????new?PropertyMetadata(false));

????????public?static?readonly?DependencyProperty?DelimiterProperty?=
????????????DependencyProperty.Register("Delimiter",?typeof(string),?typeof(MultiSelectComboBox),
????????????????new?PropertyMetadata(";"));

????????public?static?readonly?DependencyProperty?TextProperty?=
????????????DependencyProperty.Register("Text",?typeof(string),?typeof(MultiSelectComboBox),
????????????????new?PropertyMetadata(string.Empty,?OnTextChanged));

????????private?bool?_ignoreTextValueChanged;
????????private?MultiSelectComboBoxItem?_multiSelectComboBoxItem;
????????private?Popup?_popup;

????????public?bool?IsDropDownOpen
????????{
????????????get?=>?(bool)GetValue(IsDropDownOpenProperty);
????????????set?=>?SetValue(IsDropDownOpenProperty,?value);
????????}


????????[Bindable(true)]
????????[Category("Layout")]
????????[TypeConverter(typeof(LengthConverter))]
????????public?double?MaxDropDownHeight
????????{
????????????get?=>?(double)GetValue(MaxDropDownHeightProperty);
????????????set?=>?SetValue(MaxDropDownHeightProperty,?value);
????????}


????????public?object?SelectAllContent
????????{
????????????get?=>?GetValue(SelectAllContentProperty);
????????????set?=>?SetValue(SelectAllContentProperty,?value);
????????}


????????public?bool?IsSelectAllActive
????????{
????????????get?=>?(bool)GetValue(IsSelectAllActiveProperty);
????????????set?=>?SetValue(IsSelectAllActiveProperty,?value);
????????}


????????public?string?Delimiter
????????{
????????????get?=>?(string)GetValue(DelimiterProperty);
????????????set?=>?SetValue(DelimiterProperty,?value);
????????}


????????public?string?Text
????????{
????????????get?=>?(string)GetValue(TextProperty);
????????????set?=>?SetValue(TextProperty,?value);
????????}

????????private?static?void?OnIsDropDownOpenChanged(DependencyObject?d,?DependencyPropertyChangedEventArgs?e)
????????{
????????????var?MultiSelectComboBox?=?(MultiSelectComboBox)d;

????????????if?(!(bool)e.NewValue)
????????????????MultiSelectComboBox.Dispatcher.BeginInvoke(new?Action(()?=>?{?Mouse.Capture(null);?}),
????????????????????DispatcherPriority.Send);
????????}

????????private?static?void?OnTextChanged(DependencyObject?d,?DependencyPropertyChangedEventArgs?e)
????????{
????????}


????????protected?override?bool?IsItemItsOwnContainerOverride(object?item)
????????{
????????????return?item?is?MultiSelectComboBoxItem;
????????}

????????protected?override?DependencyObject?GetContainerForItemOverride()
????????{
????????????return?new?MultiSelectComboBoxItem();
????????}

????????protected?override?void?OnSelectionChanged(SelectionChangedEventArgs?e)
????????{
????????????UpdateText();
????????????base.OnSelectionChanged(e);
????????}

????????public?override?void?OnApplyTemplate()
????????{
????????????base.OnApplyTemplate();

????????????_popup?=?GetTemplateChild(PART_Popup)?as?Popup;
????????????_multiSelectComboBoxItem?=?GetTemplateChild(PART_CheckBoxAll)?as?MultiSelectComboBoxItem;
????????????_multiSelectComboBoxItem.Selected?+=?_MultiSelectComboBoxItem_Selected;
????????????_multiSelectComboBoxItem.Unselected?+=?_MultiSelectComboBoxItem_Unselected;
????????}

????????private?void?_MultiSelectComboBoxItem_Unselected(object?sender,?RoutedEventArgs?e)
????????{
????????????if?(_ignoreTextValueChanged)?return;
????????????_ignoreTextValueChanged?=?true;
????????????UnselectAll();
????????????_ignoreTextValueChanged?=?false;
????????????UpdateText();
????????}

????????private?void?_MultiSelectComboBoxItem_Selected(object?sender,?RoutedEventArgs?e)
????????{
????????????if?(_ignoreTextValueChanged)?return;
????????????_ignoreTextValueChanged?=?true;
????????????SelectAll();
????????????_ignoreTextValueChanged?=?false;
????????????UpdateText();
????????}

????????protected?virtual?void?UpdateText()
????????{
????????????if?(_ignoreTextValueChanged)?return;
????????????var?newValue?=?string.Join(Delimiter,?SelectedItems.Cast<object>().Select(x?=>?GetItemDisplayValue(x)));
????????????if?(string.IsNullOrWhiteSpace(Text)?||?!Text.Equals(newValue))
????????????{
????????????????_ignoreTextValueChanged?=?true;
????????????????if?(_multiSelectComboBoxItem?!=?null)
????????????????????_multiSelectComboBoxItem.SetCurrentValue(IsSelectedProperty,?SelectedItems.Count?==?Items.Count);
????????????????SetCurrentValue(TextProperty,?newValue);
????????????????_ignoreTextValueChanged?=?false;
????????????}
????????????
????????}

????????protected?object?GetItemDisplayValue(object?item)
????????{
????????????if?(string.IsNullOrWhiteSpace(DisplayMemberPath))
????????????{
????????????????var?property?=?item.GetType().GetProperty("Content");
????????????????if?(property?!=?null)
????????????????????return?property.GetValue(item,?null);
????????????}

????????????var?nameParts?=?DisplayMemberPath.Split('.');
????????????if?(nameParts.Length?==?1)
????????????{
????????????????var?property?=?item.GetType().GetProperty(DisplayMemberPath);
????????????????if?(property?!=?null)
????????????????????return?property.GetValue(item,?null);
????????????}

????????????return?item;
????????}
????}
}

2) MultiSelectComboBoxItem.cs 代碼如下:

using?System.Windows.Controls;

namespace?WPFDevelopers.Controls
{
????public?class?MultiSelectComboBoxItem?:?ListBoxItem
????{
????}
}

3) MultiSelectComboBox.xaml 代碼如下:

<ResourceDictionary?xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
????????????????????xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
????????????????????xmlns:controls="clr-namespace:WPFDevelopers.Controls"
????????????????????xmlns:helpers="clr-namespace:WPFDevelopers.Helpers">
????
????<ResourceDictionary.MergedDictionaries>
????????<ResourceDictionary?Source="Basic/ControlBasic.xaml"/>
????</ResourceDictionary.MergedDictionaries>
??<BooleanToVisibilityConverter?x:Key="bool2VisibilityConverter"?/>
?<Style?x:Key="DefaultMultiSelectComboBoxItem"?TargetType="{x:Type?controls:MultiSelectComboBoxItem}">
??<Setter?Property="HorizontalContentAlignment"?Value="{Binding?HorizontalContentAlignment,?RelativeSource={RelativeSource?AncestorType={x:Type?ItemsControl}}}"/>
??<Setter?Property="VerticalContentAlignment"?Value="{Binding?VerticalContentAlignment,?RelativeSource={RelativeSource?AncestorType={x:Type?ItemsControl}}}"/>
??<Setter?Property="SnapsToDevicePixels"?Value="True"/>
??<Setter?Property="Background"?Value="Transparent"/>
??<Setter?Property="BorderBrush"?Value="Transparent"/>
??<Setter?Property="Foreground"?Value="{DynamicResource?RegularTextSolidColorBrush}"/>
??<Setter?Property="BorderThickness"?Value="0"/>
??<Setter?Property="Height"?Value="34"?/>
??<Setter?Property="Margin"?Value="1,0"?/>
??<Setter?Property="Padding"?Value="6,0"/>
??<Setter?Property="Cursor"?Value="Hand"?/>
??<Setter?Property="Template">
???<Setter.Value>
????<ControlTemplate?TargetType="{x:Type?controls:MultiSelectComboBoxItem}">

?????<Border?x:Name="PART_Border"
???????BorderBrush="{TemplateBinding?BorderBrush}"
???????BorderThickness="{TemplateBinding?BorderThickness}"
???????Background="{TemplateBinding?Background}"
???????SnapsToDevicePixels="true"
???????Padding="{TemplateBinding?Padding}">
??????<CheckBox?Foreground="{TemplateBinding?Foreground}"
??????????HorizontalAlignment="Stretch"
??????????VerticalAlignment="{TemplateBinding?VerticalContentAlignment}"
??????????MinHeight="{TemplateBinding?MinHeight}"
??????????Padding="{TemplateBinding?Padding}"
??????????IsChecked="{Binding?IsSelected,RelativeSource={RelativeSource?TemplatedParent},Mode=TwoWay}">

???????<ContentPresenter?HorizontalAlignment="{TemplateBinding?HorizontalContentAlignment}"
??????????VerticalAlignment="{TemplateBinding?VerticalContentAlignment}"
??????????x:Name="PART_ContentPresenter"
??????????SnapsToDevicePixels="{TemplateBinding?SnapsToDevicePixels}"
??????????TextElement.Foreground="{TemplateBinding?Foreground}"/>
??????</CheckBox>
?????</Border>
?????<ControlTemplate.Triggers>
??????<Trigger?Property="IsMouseOver"?Value="True">
???????<Setter?Property="Background"?Value="{DynamicResource?DefaultBackgroundSolidColorBrush}"/>
??????</Trigger>
?????</ControlTemplate.Triggers>
????</ControlTemplate>
???</Setter.Value>
??</Setter>
?</Style>

?<Style?TargetType="{x:Type?controls:MultiSelectComboBox}">
??<Setter?Property="ScrollViewer.HorizontalScrollBarVisibility"?Value="Auto"?/>
??<Setter?Property="ScrollViewer.VerticalScrollBarVisibility"?Value="Auto"?/>
??<Setter?Property="ScrollViewer.CanContentScroll"?Value="True"?/>
??<Setter?Property="SelectionMode"?Value="Multiple"/>
??<Setter?Property="MinWidth"?Value="120"?/>
??<Setter?Property="MinHeight"?Value="{StaticResource?MinHeight}"?/>
????????<Setter?Property="Height"?Value="{StaticResource?MinHeight}"?/>
??<Setter?Property="ItemContainerStyle"?Value="{StaticResource?DefaultMultiSelectComboBoxItem}"/>
??<Setter?Property="HorizontalContentAlignment"?Value="Left"?/>
??<Setter?Property="VerticalContentAlignment"?Value="Center"?/>
????????<Setter?Property="BorderBrush"?Value="{DynamicResource?BaseSolidColorBrush}"/>
????????<Setter?Property="BorderThickness"?Value="1"/>
??<Setter?Property="Background"?Value="{DynamicResource?BackgroundSolidColorBrush}"/>
??<Setter?Property="Padding"?Value="14.5,3,30,3"/>
??<Setter?Property="Template">
???<Setter.Value>
????????????????<ControlTemplate?TargetType="{x:Type?controls:MultiSelectComboBox}">
?????<ControlTemplate.Resources>
??????<Storyboard?x:Key="OpenStoryboard">
???????<DoubleAnimation?Storyboard.TargetName="PART_DropDown"
?????????????Storyboard.TargetProperty="(Grid.RenderTransform).(ScaleTransform.ScaleY)"
?????????????To="1"?Duration="00:00:.2"
?????????????EasingFunction="{StaticResource?ExponentialEaseOut}"/>
??????</Storyboard>
??????<Storyboard?x:Key="CloseStoryboard">
???????<DoubleAnimation?Storyboard.TargetName="PART_DropDown"
?????????????Storyboard.TargetProperty="(Grid.RenderTransform).(ScaleTransform.ScaleY)"
?????????????To="0"?Duration="00:00:.2"
?????????????EasingFunction="{StaticResource?ExponentialEaseOut}"/>
??????</Storyboard>
?????</ControlTemplate.Resources>
????????????????????<controls:SmallPanel?SnapsToDevicePixels="True">
??????<Border?Name="PART_Border"
????????Background="{TemplateBinding?Background}"
????????BorderBrush="{TemplateBinding?BorderBrush}"
????????BorderThickness="{TemplateBinding?BorderThickness}"
????????SnapsToDevicePixels="True"
????????CornerRadius="{Binding?Path=(helpers:ElementHelper.CornerRadius),?RelativeSource={RelativeSource?TemplatedParent}}"?/>


??????<ToggleButton?x:Name="PART_ToggleButton"
???????????Template="{StaticResource?ComboBoxToggleButton}"
???????????Style="{x:Null}"
???????????Focusable="False"
???????????ClickMode="Release"
???????????IsChecked="{Binding?IsDropDownOpen,?Mode=TwoWay,?RelativeSource={RelativeSource?TemplatedParent}}"/>
??????<TextBox?Name="PART_EditableTextBox"
?????????Template="{StaticResource?ComboBoxTextBox}"
?????????HorizontalAlignment="{TemplateBinding?HorizontalContentAlignment}"
?????????VerticalAlignment="{TemplateBinding?VerticalContentAlignment}"
?????????Margin="{TemplateBinding?Padding}"
?????????Focusable="True"
?????????Text="{Binding?Text,RelativeSource={RelativeSource?TemplatedParent},Mode=TwoWay}"
?????????Background="{TemplateBinding?Background}"
?????????SelectionBrush="{DynamicResource?WindowBorderBrushSolidColorBrush}"
?????????IsReadOnly="True"?Style="{x:Null}"?/>
??????
??????<Popup?x:Name="PART_Popup"
????????AllowsTransparency="True"
????????PlacementTarget="{Binding?ElementName=PART_ToggleButton}"
????????IsOpen="{Binding?IsDropDownOpen,RelativeSource={RelativeSource?TemplatedParent},Mode=TwoWay}"
????????Placement="Bottom"?StaysOpen="False">
????????????????????????????<controls:SmallPanel?x:Name="PART_DropDown"
??????????MinWidth="{TemplateBinding?FrameworkElement.ActualWidth}"
????????Margin="24,2,24,24"
????????MaxHeight="{TemplateBinding?MaxDropDownHeight}"
????????RenderTransformOrigin=".5,0"
????????SnapsToDevicePixels="True">
????????????????????????????????<controls:SmallPanel.RenderTransform>
?????????<ScaleTransform?ScaleY="0"/>
????????</controls:SmallPanel.RenderTransform>
????????<Border
?????????Name="PART_DropDownBorder"
?????????Background="{TemplateBinding?Background}"
?????????BorderBrush="{TemplateBinding?BorderBrush}"
?????????BorderThickness="{TemplateBinding?BorderThickness}"
?????????SnapsToDevicePixels="True"
?????????????????????????????????CornerRadius="{Binding?Path=(helpers:ElementHelper.CornerRadius),RelativeSource={RelativeSource?TemplatedParent}}"
?????????UseLayoutRounding="True"
?????????Effect="{StaticResource?PopupShadowDepth}"/>
????????<Grid?ClipToBounds="False"
???????????Margin="0,8"?>
?????????<Grid.RowDefinitions>
??????????<RowDefinition?Height="Auto"/>
??????????<RowDefinition/>
?????????</Grid.RowDefinitions>
?????????<controls:MultiSelectComboBoxItem?x:Name="PART_CheckBoxAll"
????????????????????Visibility="{TemplateBinding?IsSelectAllActive,Converter={StaticResource?bool2VisibilityConverter}}"
????????????????????Style="{TemplateBinding?ItemContainerStyle}"
????????????????????Content="{TemplateBinding?SelectAllContent}"/>
?????????<ScrollViewer?x:Name="DropDownScrollViewer"?Grid.Row="1"
???????????????ScrollViewer.VerticalScrollBarVisibility="Auto">
??????????<ItemsPresenter?x:Name="ItemsPresenter"
???????????????KeyboardNavigation.DirectionalNavigation="Contained"
???????????????SnapsToDevicePixels="{TemplateBinding?SnapsToDevicePixels}"/>
?????????</ScrollViewer>
????????</Grid>
???????</controls:SmallPanel>
??????</Popup>
?????</controls:SmallPanel>
?????<ControlTemplate.Triggers>
??????<Trigger?SourceName="PART_ToggleButton"?Property="IsChecked"?Value="True">
???????<Trigger.EnterActions>
????????<BeginStoryboard?x:Name="BeginStoryboardOpenStoryboard"?Storyboard="{StaticResource?OpenStoryboard}"?/>
???????</Trigger.EnterActions>
???????<Trigger.ExitActions>
????????<StopStoryboard?BeginStoryboardName="BeginStoryboardOpenStoryboard"?/>
???????</Trigger.ExitActions>
??????</Trigger>
??????<Trigger?SourceName="PART_ToggleButton"?Property="IsChecked"?Value="False">
???????<Trigger.EnterActions>
????????<BeginStoryboard?x:Name="BeginStoryboardCloseStoryboard"?Storyboard="{StaticResource?CloseStoryboard}"?/>
???????</Trigger.EnterActions>
???????<Trigger.ExitActions>
????????<StopStoryboard?BeginStoryboardName="BeginStoryboardCloseStoryboard"?/>
???????</Trigger.ExitActions>
??????</Trigger>
??????<Trigger?Property="IsMouseOver"?Value="True">
????????????????????????????<Setter?Property="BorderBrush"?TargetName="PART_Border"?Value="{DynamicResource?PrimaryNormalSolidColorBrush}"/>
??????</Trigger>
??????<Trigger?SourceName="PART_Popup"?Property="AllowsTransparency"?Value="True">
???????<Setter?TargetName="PART_DropDownBorder"??Property="Margin"?Value="0,2,0,0"?/>
??????</Trigger>
?????</ControlTemplate.Triggers>
????</ControlTemplate>
???</Setter.Value>
??</Setter>
?</Style>
</ResourceDictionary>

4) MultiSelectComboBoxExample.xaml 代碼如下:

<UserControl?x:Class="WPFDevelopers.Samples.ExampleViews.MultiSelectComboBoxExample"
?????????????xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
?????????????xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
?????????????xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"?
?????????????xmlns:d="http://schemas.microsoft.com/expression/blend/2008"?
?????????????xmlns:local="clr-namespace:WPFDevelopers.Samples.ExampleViews"
?????????????xmlns:wpfdev="https://github.com/WPFDevelopersOrg/WPFDevelopers"
?????????????xmlns:controls="clr-namespace:WPFDevelopers.Samples.Controls"
?????????????xmlns:model="clr-namespace:WPFDevelopers.Sample.Models"
?????????????mc:Ignorable="d"?
?????????????d:DesignHeight="450"?d:DesignWidth="800">
????<UserControl.Resources>
????????<model:HospitalList?x:Key="myHospitalList"/>
????</UserControl.Resources>
????<controls:CodeViewer>
????????<UniformGrid?Columns="2">
????????????<wpfdev:MultiSelectComboBox
????????????????VerticalContentAlignment="Center"?
????????????????HorizontalAlignment="Center"
????????????????Delimiter="^"?Width="200">
????????????????<wpfdev:MultiSelectComboBoxItem>Option?1</wpfdev:MultiSelectComboBoxItem>
????????????????<wpfdev:MultiSelectComboBoxItem>Option?2</wpfdev:MultiSelectComboBoxItem>
????????????????<wpfdev:MultiSelectComboBoxItem>Option?3</wpfdev:MultiSelectComboBoxItem>
????????????????<wpfdev:MultiSelectComboBoxItem>Option?4</wpfdev:MultiSelectComboBoxItem>
????????????????<wpfdev:MultiSelectComboBoxItem>Option?5</wpfdev:MultiSelectComboBoxItem>
????????????</wpfdev:MultiSelectComboBox>
????????????<wpfdev:MultiSelectComboBox?VerticalContentAlignment="Center"?
?????????????????????????????????????????HorizontalAlignment="Center"
?????????????????????????????????????????IsSelectAllActive="True"
?????????????????????????????ItemsSource="{Binding?Source={StaticResource?myHospitalList}}"
?????????????????????????????DisplayMemberPath="DoctorName"
?????????????????????????????SelectedValuePath="ID"?Width="200">

????????????</wpfdev:MultiSelectComboBox>
????????</UniformGrid>
????????<controls:CodeViewer.SourceCodes>
????????????<controls:SourceCodeModel?
????????????????CodeSource="/WPFDevelopers.SamplesCode;component/ExampleViews/MultiSelectComboBoxExample.xaml"?
????????????????CodeType="Xaml"/>
????????????<controls:SourceCodeModel?
????????????????CodeSource="/WPFDevelopers.SamplesCode;component/ExampleViews/MultiSelectComboBoxExample.xaml.cs"?
????????????????CodeType="CSharp"/>
????????</controls:CodeViewer.SourceCodes>
????</controls:CodeViewer>
</UserControl>

效果圖

以上就是基于WPF實現(xiàn)多選下拉控件的示例代碼的詳細內容,更多關于WPF多選下拉控件的資料請關注腳本之家其它相關文章!

相關文章

  • C#實現(xiàn)十進制數(shù)轉換為十六進制的幾種方式

    C#實現(xiàn)十進制數(shù)轉換為十六進制的幾種方式

    在C#中,十進制和十六進制轉換非常簡單,本文給大家介紹了C#實現(xiàn)十進制數(shù)轉換為十六進制的幾種方式,并通過代碼示例講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-04-04
  • C# WPF Image控件的綁定方法

    C# WPF Image控件的綁定方法

    這篇文章主要介紹了C# WPF Image控件的綁定方法,幫助大家更好的理解和學習使用c#,感興趣的朋友可以了解下
    2021-03-03
  • C#設置軟件開機自動運行的方法(修改注冊表)

    C#設置軟件開機自動運行的方法(修改注冊表)

    這篇文章主要介紹了C#設置軟件開機自動運行的方法,通過簡單修改注冊表開機啟動項實現(xiàn)軟件的開機啟動功能,非常簡單實用,需要的朋友可以參考下
    2016-06-06
  • 基于switch你可能不知道的一些用法

    基于switch你可能不知道的一些用法

    本篇文章對switch的用法進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C# SQlite操作方法小結

    C# SQlite操作方法小結

    這篇文章主要介紹了C# SQlite操作方法,較為詳細的講述了SQLite的下載與C#針對SQLite的連接、創(chuàng)建、與執(zhí)行SQL語句等操作相關技巧,需要的朋友可以參考下
    2016-07-07
  • C# IFF圖形結構解析代碼

    C# IFF圖形結構解析代碼

    這個結構有點像RIFF文件。。是分段的。但要注意ANNO這個描述字段 必須是使用2個字節(jié) 否則ACDSEE無法識別。
    2010-03-03
  • 用C#將圖片保存至Oracle BLOB字段中的方法

    用C#將圖片保存至Oracle BLOB字段中的方法

    這篇文章主要介紹了用C#將圖片保存至Oracle BLOB字段中的方法, 依靠ImageViewer庫進行操作,需要的朋友可以參考下
    2015-07-07
  • 關于C#基礎知識回顧--反射(三)

    關于C#基礎知識回顧--反射(三)

    在前面例子中,由于MyClass類型的對象是顯示創(chuàng)建的,因此使用反射技術來調用MyClass上的方法沒有任何優(yōu)勢--以普通的方式調用對象上的方法會簡單的多
    2013-07-07
  • C#面向對象實現(xiàn)圖書管理系統(tǒng)

    C#面向對象實現(xiàn)圖書管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C#面向對象實現(xiàn)圖書管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C#并發(fā)編程之async和await關鍵字詳解

    C#并發(fā)編程之async和await關鍵字詳解

    對于?async?和?await?兩個關鍵字,對于一線開發(fā)人員再熟悉不過了,到處都是它們的身影,下面小編就來和大家記錄匯總下它們的使用吧
    2023-07-07

最新評論

榕江县| 丹阳市| 锦州市| 江北区| 柘荣县| 门头沟区| 莱州市| 竹山县| 郓城县| 化州市| 凌海市| 三明市| 西乌珠穆沁旗| 资阳市| 滦南县| 荣昌县| 呼伦贝尔市| 富源县| 镇宁| 天峻县| 罗定市| 博野县| 新乡县| 惠水县| 民权县| 桐梓县| 大兴区| 柯坪县| 肇东市| 石渠县| 云霄县| 长子县| 乌拉特后旗| 成武县| 博乐市| 牡丹江市| 雷波县| 镇康县| 潢川县| 贺兰县| 朝阳区|