更改按钮的背景颜色

本文关键字:背景 颜色 按钮 | 更新日期: 2023-09-27 18:02:34

我写了下面的代码:

public partial class MainWindow : MetroWindow
{
    private static byte[] _buffer = new byte[1024];
    private static List<Socket> _clientSockets = new List<Socket>();
    private static Socket _serverSocket = new Socket
        (AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    private void MetroWindow_Loaded(object sender, RoutedEventArgs e)
    {
        SetupServer();
    }
    public void changeColorButton()
    {
        var custom = new BrushConverter();
        testButton.Background = (Brush)custom.ConvertFrom("#FF00D400");
    }
    private static void SetupServer()
    {
        _serverSocket.Bind(new IPEndPoint(IPAddress.Any, 100));
        MessageBox.Show("Server ONLINE");
        _serverSocket.Listen(5);
        _serverSocket.BeginAccept(new AsyncCallback(AcceptCallBack), null);
    }
    private static void AcceptCallBack(IAsyncResult AR)
    {
        Socket socket = _serverSocket.EndAccept(AR);
        _clientSockets.Add(socket);
        -----<triggers the changeColorButton() here>---
        s.Add(socket);
        socket.BeginReceive(_buffer, 0, _buffer.Length, SocketFlags.None, new AsyncCallback(ReceiveCallBack), socket);
        _serverSocket.BeginAccept(new AsyncCallback(AcceptCallBack), null);
    }
}

它接受试图连接到服务器的客户端。我还有一个测试按钮。当客户端试图连接到服务器时,我试图改变按钮的颜色。

我尝试使用以下代码调用changeColorButton():

    MainWindow m = new MainWindow();
    m.changeColorButton;

,但似乎我得到了一个错误在这一个。任何关于我如何改变按钮的颜色的建议,每当有一个客户端,将尝试连接到服务器?谢谢你!:)

更改按钮的背景颜色

尝试用ConvertFromString代替ConvertFrom