teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

「とある情報」を具体的に

2021/06/03 10:00

投稿

koiru
koiru

スコア4

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,7 @@
1
1
  ### 前提・実現したいこと
2
2
  「Windows Forms」のListViewについてです。
3
3
 
4
- 現在、更新ボタン押下で、とある情報を取得し、ListViewに表示する というものを作っています。
4
+ 現在、更新ボタン押下で、とある情報(現在起動している特定のソフト)を取得し、ListViewに表示する というものを作っています。
5
5
  そして、取得できた情報がなかった場合、「取得できる情報はありませんでした」的なテキストを、ListVewの中央辺りに表示したいです。
6
6
  (Windowsのエクスプローラーで空のフォルダーを開けたとき、「このフォルダーは空です。」と表示されるのですが、これと同じような感じにしたいです)
7
7
 

1

作っているもの、やりたいことの明確化

2021/06/03 10:00

投稿

koiru
koiru

スコア4

title CHANGED
@@ -1,1 +1,1 @@
1
- ListViewで、項目が1つもない場合にテキストを表示する
1
+ ListViewで、項目が1つもない場合にテキストを表示したい
body CHANGED
@@ -1,7 +1,134 @@
1
- ### 実現したいこと
1
+ ### 前提・実現したいこと
2
- ListViewに項目が1もな場合に、任意のテキストをListViewの中央辺りに表示したいです。
2
+ 「Windows Forms」のListViewについです。
3
- Windowsのエクスプローラーで空のフォルダーを開けたとき、「このフォルダーは空です。」と表示されるのですが、これと同じような感じにしたいです。
4
3
 
4
+ 現在、更新ボタン押下で、とある情報を取得し、ListViewに表示する というものを作っています。
5
+ そして、取得できた情報がなかった場合、「取得できる情報はありませんでした」的なテキストを、ListVewの中央辺りに表示したいです。
6
+ (Windowsのエクスプローラーで空のフォルダーを開けたとき、「このフォルダーは空です。」と表示されるのですが、これと同じような感じにしたいです)
7
+
8
+ これは、どうすればできるのでしょうか?
9
+ ListViewのプロパティをざっと見ましたが、そういう設定は見当たりませんでした。
10
+ C#を初めて2週間ちょっと、オブジェクト指向も詳しくは理解できていませんが、お手柔らかにお願いします。
11
+
12
+ ### 該当のソースコード
13
+ 「とある情報を取得して表示」は、「50%の確率で表示」に置き換えています。
14
+
15
+ #### Form1.Designer.cs
16
+ ```C#
17
+ namespace ListView
18
+ {
19
+ partial class Form1
20
+ {
21
+ /// <summary>
22
+ /// 必要なデザイナー変数です。
23
+ /// </summary>
24
+ private System.ComponentModel.IContainer components = null;
25
+
26
+ /// <summary>
27
+ /// 使用中のリソースをすべてクリーンアップします。
28
+ /// </summary>
29
+ /// <param name="disposing">マネージド リソースを破棄する場合は true を指定し、その他の場合は false を指定します。</param>
30
+ protected override void Dispose(bool disposing)
31
+ {
32
+ if (disposing && (components != null))
33
+ {
34
+ components.Dispose();
35
+ }
36
+ base.Dispose(disposing);
37
+ }
38
+
39
+ #region Windows フォーム デザイナーで生成されたコード
40
+
41
+ /// <summary>
42
+ /// デザイナー サポートに必要なメソッドです。このメソッドの内容を
43
+ /// コード エディターで変更しないでください。
44
+ /// </summary>
45
+ private void InitializeComponent()
46
+ {
47
+ this.listView1 = new System.Windows.Forms.ListView();
48
+ this.button1 = new System.Windows.Forms.Button();
49
+ this.SuspendLayout();
50
+ //
51
+ // listView1
52
+ //
53
+ this.listView1.HideSelection = false;
54
+ this.listView1.Location = new System.Drawing.Point(12, 12);
55
+ this.listView1.Name = "listView1";
56
+ this.listView1.Size = new System.Drawing.Size(460, 411);
57
+ this.listView1.TabIndex = 0;
58
+ this.listView1.UseCompatibleStateImageBehavior = false;
59
+ //
60
+ // button1
61
+ //
62
+ this.button1.Location = new System.Drawing.Point(12, 429);
63
+ this.button1.Name = "button1";
64
+ this.button1.Size = new System.Drawing.Size(460, 23);
65
+ this.button1.TabIndex = 1;
66
+ this.button1.Text = "ListViewの更新";
67
+ this.button1.UseVisualStyleBackColor = true;
68
+ this.button1.Click += new System.EventHandler(this.button1_Click);
69
+ //
70
+ // Form1
71
+ //
72
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
73
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
74
+ this.ClientSize = new System.Drawing.Size(484, 461);
75
+ this.Controls.Add(this.button1);
76
+ this.Controls.Add(this.listView1);
77
+ this.Name = "Form1";
78
+ this.Text = "Form1";
79
+ this.Load += new System.EventHandler(this.Form1_Load);
80
+ this.ResumeLayout(false);
81
+
82
+ }
83
+
84
+ #endregion
85
+
86
+ private System.Windows.Forms.ListView listView1;
87
+ private System.Windows.Forms.Button button1;
88
+ }
89
+ }
90
+ ```
91
+
92
+ #### Form1.cs
93
+ ```C#
94
+ using System;
95
+ using System.Collections.Generic;
96
+ using System.ComponentModel;
97
+ using System.Data;
98
+ using System.Drawing;
99
+ using System.Linq;
100
+ using System.Text;
101
+ using System.Threading.Tasks;
102
+ using System.Windows.Forms;
103
+
104
+ namespace ListView
105
+ {
106
+ public partial class Form1 : Form
107
+ {
108
+ public Form1()
109
+ {
110
+ InitializeComponent();
111
+ }
112
+
113
+ private void Form1_Load(object sender, EventArgs e)
114
+ {
115
+
116
+ }
117
+
118
+ private void button1_Click(object sender, EventArgs e)
119
+ {
120
+ listView1.Items.Clear();
121
+
122
+ Random random = new System.Random();
123
+ if (random.Next(0, 2) == 0)
124
+ {
125
+ listView1.Items.Add("項目");
126
+ }
127
+ }
128
+ }
129
+ }
130
+ ```
131
+
5
132
  ### 環境
6
133
  - .NET Framework 4.7.2
7
134
  - Visual Studio 2019