9
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Visual BasicAdvent Calendar 2016

Day 6

「デザイン」タブが表示できなくなった場合の対処方法

Posted at

コードはあるのに「デザイン」が表示されない

確かにコードは書いてあるし、ビルドしたファイルを実行するとコード通りの GUI デザインのアプリケーションが起動するけれども、Visual Studio 上ではそのデザインをどうやっても見ることができない。すなわちデザインに手を加えることがもはやできない。そういう状態に陥ってしまったのでその解決策です。

「ソリューション エクスプローラー」の表示

まず「ソリューション エクスプローラー」上の表示が他のフォームと比べると何かおかしいです。

vb_error_01.png

Form1.Designer.vbがルート部分に存在していて、そこにForm1がぶら下がっています。Form1.Designer.vbのアイコンが「VB」となっています。

この状態でForm1をダブルクリックすると、Form1.Designer.vbが表示されてしまいます1

vb_error_02.png

.vbprojファイルがおかしい

「デザイン」タブを開くための方法を調べるため、どういうワードで検索したらいいのか四苦八苦しましたが、何とかそれらしきページにたどり着きました。

上記に書いてあるように、.vbprojファイルの記述内容が誤っていました。Form1.vbに関する記述がありませんでした。以下のようにForm1.Designer.vbの次にForm2.Designer.vbが記述されていました。こう記述されていたならば「ソリューション エクスプローラー」の表示が前掲のようになったことに納得がいきます。

vb_error_03.png

下記のようにForm1.vbの部分を追加しました。

vb_error_04.png

まだ表示されない

しかしながらまだ「デザイン」のタブが表示されません。このまま永久に GUI を変更できないのかと絶望しましたが、ファイル群の中にそもそもForm1.vbが存在しないことに気づきました。それならばForm1.vbを作成すればいいはずです。

Form1.vbを作る

Form1.vbを作るにしてもその中身はどうすればいいのでしょうか。フォームのコードは全てすでにForm1.Designer.vbに書いてあります2

それならばと、以下のように書きました。

Form1.vb
Public Class Form1

End Class

「デザイン」タブが復活

上述Form1.vbファイルを作成した後で再びプロジェクトを開くと、「ソリューション エクスプローラー」の表示が期待通りのものになりました。そしてForm1.vbをダブルクリックすると無事に「デザイン」タブが開きました。

vb_error_06.png

vb_error_07.png

これで GUI の修正や追加、削除ができます。

原因は分からない

なぜ上記のような状態に陥ったのかは分かりません。Visual Studio をアップデートしたことが原因かもしれませんが、確証はありません。少なくとも自分と同じ症状になった人がネット上にいたということは、おま環事案ではないようです。

もし同じような状況に陥った場合はこの記事の内容を試してみてください。

  1. ツリー構造を考えれば当然ではある

  2. こういう作りはとても良くないが、それは置いといて

9
5
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?