C#に関しては、少し問題があります。
ユーザーが指定した画像をダウンロードして、フォームの背景を動的に更新しようとしています。
画像をダウンロード (およびフォームを更新) するコードは次のようになります。
public bool getImgFromWeb(string url)
{
try
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(new Uri(url, UriKind.Absolute));
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
//if response is okay, and it's an image
//sometimes 404 will be okay, but will redirect to website.
if ((response.StatusCode == HttpStatusCode.OK) &&
(response.ContentType.StartsWith("image", StringComparison.OrdinalIgnoreCase)))
{
Bitmap tempImg = new Bitmap(response.GetResponseStream());
this.BackgroundImage = tempImg; //this line does nothing.
this.Invalidate(); //to force the window to redraw
}
else
{
MessageBox.Show("Sorry, the image your are trying to download does not exist. Please re-enter the image URL.");
return false;
}
}
catch (Exception ex)
{
MessageBox.Show("Sorry, an error: " + ex.Message + " occurred.");
return false;
}
フォームに更新された背景が表示されない理由について何か提案はありますか?
ありがとう。