MessageBox
MessageBox.Show("Content", "Title");
MessageBox.Show("This MessageBox has extra options.\n\nHello, world?", "My App",
MessageBoxButton.YesNoCancel);
MessageBoxButton屬性:
OK
OKCancel
YesNoCancel
YesNo
接收使用者的reponse來執行不同的動作
MessageBoxResult result = MessageBox.Show("Would you like to greet the world with a \"Hello,
world\"?", "My App", MessageBoxButton.YesNoCancel);
switch(result)
{
case MessageBoxResult.Yes:
MessageBox.Show("Hello to you too!", "My App");
break;
case MessageBoxResult.No:
MessageBox.Show("Oh well, too bad!", "My App");
break;
case MessageBoxResult.Cancel:
MessageBox.Show("Nevermind then...", "My App");
break;
}
加上icon
MessageBox.Show("Hello, world!", "My App", MessageBoxButton.OK, MessageBoxImage.Information);
MessageBoxImage屬性:
Asterisk
Error
Exclamation
Hand
Information
None
Question
Stop
Warning
預設的選擇(預設選no)
MessageBox.Show("Hello, world?", "My App", MessageBoxButton.YesNo, MessageBoxImage.Question,
MessageBoxResult.No);
OpenFileDialog
一個簡單的範例,選取txt後會把內容show在txtEditor裡
<DockPanel Margin="10">
<WrapPanel HorizontalAlignment="Center" DockPanel.Dock="Top" Margin="0,0,0,10">
<Button Name="btnOpenFile" Click="btnOpenFile_Click">Open file</Button>
</WrapPanel>
<TextBox Name="txtEditor" />
</DockPanel>
private void btnOpenFile_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
// 設定Filter,指定只能開啟特定的檔案
openFileDialog.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*";
// 選擇圖片的Filter
// openFileDialog.Filter = "Image files (*.png;*.jpeg)|*.png;*.jpeg|All files (*.*)|*.*";
if(openFileDialog.ShowDialog() == true)
txtEditor.Text = File.ReadAllText(openFileDialog.FileName);
}
設定預設從哪個目錄開始
openFileDialog.InitialDirectory = @"c:\temp\";
openFileDialog.InitialDirectory =
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
https://msdn.microsoft.com/en-us/library/system.environment.specialfolder.aspx
開啟複數檔案
<DockPanel Margin="10">
<WrapPanel HorizontalAlignment="Center" DockPanel.Dock="Top" Margin="0,0,0,10">
<Button Name="btnOpenFile" Click="btnOpenFiles_Click">Open files</Button>
</WrapPanel>
<ListBox Name="lbFiles" />
</DockPanel>
private void btnOpenFiles_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Multiselect = true; // 設定可以開多個檔案
openFileDialog.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*";
openFileDialog.InitialDirectory =
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
if(openFileDialog.ShowDialog() == true)
{
foreach(string filename in openFileDialog.FileNames)
lbFiles.Items.Add(Path.GetFileName(filename));
}
}
SaveFileDialog
簡單的範例
<DockPanel Margin="10">
<WrapPanel HorizontalAlignment="Center" DockPanel.Dock="Top" Margin="0,0,0,10">
<Button Name="btnSaveFile" Click="btnSaveFile_Click">Save file</Button>
</WrapPanel>
<TextBox Name="txtEditor" TextWrapping="Wrap" AcceptsReturn="True"
ScrollViewer.VerticalScrollBarVisibility="Auto" />
</DockPanel>
private void btnSaveFile_Click(object sender, RoutedEventArgs e)
{
SaveFileDialog saveFileDialog = new SaveFileDialog();
if(saveFileDialog.ShowDialog() == true)
File.WriteAllText(saveFileDialog.FileName, txtEditor.Text);
}
設定Filter
saveFileDialog.Filter = "Text file (*.txt)|*.txt|C# file (*.cs)|*.cs";
設初始目錄
saveFileDialog.InitialDirectory = @"c:\temp\";