hardrocknyasha, во-первых нету ключа. Во-вторых Lang - класс, Lang.RuRu используйте, если на русском текст хотите получить.
А с форматом смотрите ошибку сами в списке ошибок.
Создание фигур и прочее рисование - это не есть Drag and Drop.
Drag and Drop - это когда, например, можно перетащить файл прям в окно программы, например, чтобы прикрепить его к сообщению (пример: диалоги в ВК).
ChymeNik: наследуйте класс библиотеки и напишите такой код выше, если класс нельзя наследовать (sealed), то сделайте свой костыль, в котором будет экземпляр класса библиотеки и ваш новый метод, который будет вызывать send у библиотеки.
Ах да, забыл добавить
Такую конструкцию можно ждать через await (await Foo()).
static async Task Foo()
{
await Task.Run(() => //Выполняется в новом потоке
{
//Делаем свои дела в новом потоке
});
Console.WriteLine("End"); //Выполняется в основном потоке
}
А этот метод можно только вызвать для асинхронности и нельзя будет ждать завершения
Не очень правильно использовать TCP для игры, ведь даже для ходьбы вам нужно постоянно отправлять данные об изменении положения, TCP в этом плане работает очень медленно, лучше использовать UDP, но учтите, что с UDP в разы сложнее работать, ведь там нету Net потоков и Connect.
Если есть вопросы по сокетам, то мой ЛС открыт, вроде.
(есть своя библиотека под TCP & UDP async sockets)