quoteofthedaywindow.xaml.cs

来自「C#高级编程第6版随书源代码 值得下载」· CS 代码 · 共 63 行

CS
63
字号
using System;
using System.Net.Sockets;
using System.Text;
using System.Windows;
using System.Windows.Input;


namespace QuoteOfTheDay
{
    /// <summary>
    /// Interaction logic for Window1.xaml
    /// </summary>

    public partial class QuoteOfTheDayWindow : System.Windows.Window
    {

        public QuoteOfTheDayWindow()
        {
            InitializeComponent();
            this.buttonGetQuote.Click += new RoutedEventHandler(OnGetQuote);
        }

        void OnGetQuote(object sender, RoutedEventArgs e)
        {
            Cursor currentCursor = this.Cursor;
            this.Cursor = Cursors.Wait;

            string serverName = Properties.Settings.Default.ServerName;
            int port = Properties.Settings.Default.PortNumber;

            TcpClient client = new TcpClient();
            NetworkStream stream = null;
            try
            {
                client.Connect(serverName, port);
                stream = client.GetStream();
                byte[] buffer = new Byte[1024];
                int received = stream.Read(buffer, 0, 1024);
                if (received <= 0)
                {
                    return;
                }
                textQuote.Text = Encoding.Unicode.GetString(buffer).Trim('\0');
            }
            catch (SocketException ex)
            {
                MessageBox.Show(ex.Message, "Error Quote of the day", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            finally
            {
                if (stream != null)
                    stream.Close();
                
                if (client.Connected)
                    client.Close();
            }

            this.Cursor = currentCursor;
            
        }

    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?