调用一系列异步方法后,Winforms应用程序冻结

时间:2017-05-17 12:43:43

标签: c# winforms asynchronous async-await

我正在使用异步方法处理winforms应用程序。在一个事件上,我调用了多个异步方法系列。 不幸的是,应用程序冻结了。我的异步调用都在等待,但我无法弄清楚导致死锁的原因。

Winforms阻止

function validate() {
    var contact = document.getElementById("Contact").value.search(/^[0-9]{10}/);
    var gender = document.getElementsByName("gender");

    for (var i = 0; i < gender.length; i++) {
        if (gender[i].checked) {
            gender = gender[i].value;
        }
    }

    /*from here*/
    if (contact) {
        alert("Enter correct Contact No.");
    }
    if (gender != "Male" && gender != "Female") {
        alert("Select Gender");
    }
    if (contact == 0 && (gender == "Male" || gender == "Female")) {
        alert("Form submitted!");
    }
    /*to here*/
}

我的库类将数据发送到api

body {
    background-image: url("images/back.jpg");
    background-repeat: no-repeat;
}

form {
    background-color: white;
    width: 50%;
    border-top-right-radius: 30px;
    border-bottom-left-radius: 30px;
    box-shadow: 20px 10px 20px 0px darkgrey;
    margin-top: 6%;
}

table {
    border-spacing: 20px 10px;
    padding-bottom: 20px;
}

tr {
    font-size: 20px;
}

textarea {
    max-width: 250px;
}

h1 {
    padding-top: 25px;
    font-style: italic;
    color: #363731;
}

p {
    padding-top: 15px;
    color: white;
    font-family: Arial;
    font-weight: bolder;
    font-size: 40px;
}

#btn {
    width: 70px;
    height: 30px;
    border-top-right-radius: 8px;
    border-bottom-left-radius: 8px;
}

0 个答案:

没有答案