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()上出现错误;