{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ShowUserInfo));
- this.BackgroundWorkerImageLoader = new System.ComponentModel.BackgroundWorker();
this.LinkLabel2 = new System.Windows.Forms.LinkLabel();
this.ButtonBlockDestroy = new System.Windows.Forms.Button();
this.ButtonReportSpam = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.UserPicture)).BeginInit();
this.SuspendLayout();
//
- // BackgroundWorkerImageLoader
- //
- this.BackgroundWorkerImageLoader.DoWork += new System.ComponentModel.DoWorkEventHandler(this.BackgroundWorkerImageLoader_DoWork);
- this.BackgroundWorkerImageLoader.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.BackgroundWorkerImageLoader_RunWorkerCompleted);
- //
// LinkLabel2
//
resources.ApplyResources(this.LinkLabel2, "LinkLabel2");
#endregion
- internal System.ComponentModel.BackgroundWorker BackgroundWorkerImageLoader;
internal System.Windows.Forms.LinkLabel LinkLabel2;
internal System.Windows.Forms.Button ButtonBlockDestroy;
internal System.Windows.Forms.Button ButtonReportSpam;
}
private TwitterDataModel.User userInfo = null;
private UserInfo _info = new UserInfo();
- private Image icondata = null;
private List<string> atlist = new List<string>();
private string recentPostTxt;
return true;
}
+ private async Task SetUserImageAsync(string imageUri)
+ {
+ var oldImage = this.UserPicture.Image;
+ if (oldImage != null)
+ {
+ this.UserPicture.Image = null;
+ oldImage.Dispose();
+ }
+
+ var image = await Task.Run(() => (new HttpVarious()).GetImage(imageUri.Replace("_normal", "_bigger")));
+
+ this.UserPicture.Image = image;
+ }
+
private async Task SetLinklabelWebAsync(string data)
{
string webtext;
return;
}
- //アイコンロード
- BackgroundWorkerImageLoader.RunWorkerAsync();
-
InitPath();
InitTooltip();
this.Text = this.Text.Insert(0, _info.ScreenName + " ");
await Task.WhenAll(new[]
{
linkTask,
+ this.SetUserImageAsync(_info.ImageUrl.OriginalString),
this.LoadFriendshipAsync(_info.ScreenName),
});
}
private void ShowUserInfo_FormClosing(object sender, FormClosingEventArgs e)
{
- UserPicture.Image = null;
- if (icondata != null)
- icondata.Dispose();
- }
-
- private void BackgroundWorkerImageLoader_DoWork(object sender, DoWorkEventArgs e)
- {
- string name = _info.ImageUrl.ToString();
- icondata = (new HttpVarious()).GetImage(name.Replace("_normal", "_bigger"));
- }
-
- private void BackgroundWorkerImageLoader_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
- {
- try
- {
- if (icondata != null)
- UserPicture.Image = icondata;
- }
- catch (Exception)
+ var oldImage = this.UserPicture.Image;
+ if (oldImage != null)
{
- UserPicture.Image = null;
+ this.UserPicture.Image = null;
+ oldImage.Dispose();
}
}
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <metadata name="BackgroundWorkerImageLoader.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
- <value>17, 17</value>
- </metadata>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="LinkLabel2.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
<data name="$this.Text" xml:space="preserve">
<value> のユーザー情報</value>
</data>
- <data name=">>BackgroundWorkerImageLoader.Name" xml:space="preserve">
- <value>BackgroundWorkerImageLoader</value>
- </data>
- <data name=">>BackgroundWorkerImageLoader.Type" xml:space="preserve">
- <value>System.ComponentModel.BackgroundWorker, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
<data name=">>SelectionCopyToolStripMenuItem.Name" xml:space="preserve">
<value>SelectionCopyToolStripMenuItem</value>
</data>