Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 更改按钮的背景色_C# - Fatal编程技术网

C# 更改按钮的背景色

C# 更改按钮的背景色,c#,C#,我编写了以下代码: 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

我编写了以下代码:

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);
    }

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

但我似乎在这件事上犯了个错误。当有客户机试图连接到服务器时,有没有关于如何更改按钮颜色的建议?谢谢。:)

尝试
ConvertFromString
而不是
ConvertFrom

我尝试调用
changeColorButton()
。是的,你需要这样做<代码>m.changeColorButton()和非
m.changeColorButton错误是什么?穿线,也许吧?WPF对何时允许谁更新用户界面很敏感。是VB.NET,但可能指向正确的方向。对不起,我忘了在changeColorButton上加括号;当我尝试运行我的程序服务器时,没有出现任何错误,但是当客户端尝试连接程序服务器时,会出现错误。它说“调用线程必须是STA,因为许多UI组件都需要它”。此代码MainWindow m=new MainWindow()上出现错误;