前提・実現したいこと
動的にTabを生成し、そのTab画面の上に動的にListViewを2つ配置をしたいです。
発生している問題
添付ファイルのListviewにカラム幅を指定してもSizeを指定しても、添付した画像のSizeを0とした上で、Sizeが広がってきます。
ですから、Sizeの基準値がおかしいという問題が発生しております。
該当のソースコード
c#
1 InstanceTab = new TabControl(); 2 InstanceTab.Name = "InstanceTab"; 3 InstanceTab.Size = new Size(1225, 599); 4 InstanceTab.TabIndex = 0; 5 Group.Controls.Add(InstanceTab); 6 7 InstancePage = new TabPage(); 8 InstancePage.Name = "GroupInstance"; 9 InstancePage.Padding = new System.Windows.Forms.Padding(3); 10 InstancePage.TabIndex = 0; 11 InstancePage.Text = "当選したアカウントとデータ一覧"; 12 InstancePage.UseVisualStyleBackColor = true; 13 InstancePage.AutoScroll = true; 14 InstanceTab.Controls.Add(InstancePage); 15 16 InstanceListView = new ListView(); 17 InstanceListView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | 18 System.Windows.Forms.AnchorStyles.Bottom) 19 | System.Windows.Forms.AnchorStyles.Left) 20 | System.Windows.Forms.AnchorStyles.Right))); 21 ColumnHeader[] columnHeader = new ColumnHeader[10]; 22 string[] column_TextFirst = new string[10] 23 { 24 "当選アカウント", 25 "当選キャラ", 26 "購入金額", 27 "販売者ユーザー名", 28 "販売者名前", 29 "取引銀行", 30 "口座番号", 31 "支店", 32 "口座名義人", 33 "連絡先" 34 }; 35 int[] column_Width = new int[10]{ 100, 100, 80, 100, 120, 120, 100, 80, 100, 130 }; 36 for (int r = 0; r < column_TextFirst.Length; r++) { 37 columnHeader[r] = new ColumnHeader(); 38 columnHeader[r].Text = column_TextFirst[r]; 39 columnHeader[r].Width = column_Width[r]; 40 InstanceListView.Columns.Add(columnHeader[r]); 41 } 42 InstanceListView.HideSelection = false; 43 InstanceListView.Name = "ListViewInstance"; 44 InstanceListView.Size = new System.Drawing.Size(1215, 590); 45 InstanceListView.TabIndex = 0; 46 InstanceListView.UseCompatibleStateImageBehavior = false; 47 InstanceListView.FullRowSelect = true; 48 InstanceListView.GridLines = true; 49 InstanceListView.Sorting = SortOrder.Ascending; 50 InstanceListView.View = View.Details; 51 InstancePage.Controls.Add(InstanceListView); 52 53 InstancePage = null; 54 InstancePage = new TabPage(); 55 InstancePage.Name = "GroupInstance"; 56 InstancePage.Padding = new System.Windows.Forms.Padding(3); 57 InstancePage.TabIndex = 0; 58 InstancePage.Text = "当選者へ振り込み済み画像を送信"; 59 InstancePage.UseVisualStyleBackColor = true; 60 InstancePage.AutoScroll = true; 61 InstanceTab.Controls.Add(InstancePage); 62 InstanceListView = new ListView(); 63 InstanceListView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | 64 System.Windows.Forms.AnchorStyles.Bottom) 65 | System.Windows.Forms.AnchorStyles.Left) 66 | System.Windows.Forms.AnchorStyles.Right))); 67 columnHeader = new ColumnHeader[8]; 68 column_TextFirst = new string[8] 69 { 70 "アカウント名", 71 "キャラクター名", 72 "販売者名", 73 "取引銀行", 74 "口座番号", 75 "支店", 76 "口座名義人", 77 "連絡先" 78 }; 79 column_Width = new int[8] { 100, 100, 100, 150, 100, 100, 100, 100 }; 80 81 for (int r = 0; r < column_TextFirst.Length; r++) 82 { 83 columnHeader[r] = new ColumnHeader(); 84 columnHeader[r].Text = column_TextFirst[r]; 85 columnHeader[r].Width = column_Width[r]; 86 InstanceListView.Columns.Add(columnHeader[r]); 87 } 88 InstanceListView.HideSelection = false; 89 InstanceListView.Name = "ListViewInstance"; 90 InstanceListView.AutoSize = false; 91 InstanceListView.UseCompatibleStateImageBehavior = false; 92 InstanceListView.Size = new Size(0, 0); 93 InstanceListView.FullRowSelect = true; 94 InstanceListView.GridLines = true; 95 InstanceListView.Sorting = SortOrder.Ascending; 96 InstanceListView.View = View.Details; 97 InstancePage.Controls.Add(InstanceListView);
試したこと
Googleで調べましたところ、上記のような問題のある情報は出てきませんでした。
回答1件
あなたの回答
tips
プレビュー