出産前後の痔にはご注意!

visual studio 2005のvbについてお聞きいたします。
こちらの問題は、vb6.0では生じません。
windows xp上で動かしているのですが、

1.デザインタブがどうしてもでてきません。
 どのように操作すればデザインタブが出てくるのでしょうか?
2.みなさんは、vbで保存するとき、どのような手順で行っていますか?
 そのまま何も考えずに保存すると、
 以前作った別のプロジェクトに上書きするようなことはありませんか?
 (名前を毎回違うものをつければいいだけの話ですが、
  以前作ったフォームがどうしても見つかりません。)
3.みなさんは、vbを立ち上げて、作りかけのプロジェクトを開くとき、
 どのような操作で立ち上げていますか?
 なるべく詳しく教えていただけると助かります。
 スタートメニュー→・・・
 といった具合に書いていただけるとわかりやすいです。

なお、お礼・締め切りは極度に遅くなる可能性があります。
vbに触れる環境は週一しか回ってこないので。
ご了承ください。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

>1.デザインタブがどうしてもでてきません。


 どのように操作すればデザインタブが出てくるのでしょうか?

ソリューションエクスプローラで
プロジュクト(ソリューション直下にあるアイコン)を右クリックしてWindowsフォームを追加し、それ(Form1.vb)をダブルクリックしたら普通に開いたんだけどなぁ・・・

なお、クラス・モジュール(VB6でいう標準モジュール)ではデザインタブは出現しません(コンソールアプリケーションでもフォームを追加するまでは出てこない)

2.既存のソリューション(Cards.sln)同じ名前のプロジェクトを作り、そのままVisual Basic Express Editionを閉じようとしたら
上書きするかどうか聞いてきます。

とりあえず上書き保存することにすると
次にウィンドウが出てきます。
ここでデフォルトで入っている名前は
CardsではなくCards1となっていて、重複を避ける仕組みになっているようです

3.[スタート]-[プログラム]-[Visual Basic Express Edition]
[ファイル]-[新しいプロジェクト]-[コンソールアプリケーション]を選択してプロジェクト名を入力してOK

です
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2007/01/09 09:12

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QVB.NETでラベルの大きさってどうやって変えるの?

VB.NETでラベルの大きさってどうやって変えるの?
バージョンは2008

Aベストアンサー

あれ?
普通に
Widthプロパティ
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.width%28VS.100%29.aspx
やHeightプロパティを変更すればできるはずだけど、コード、IDE問わず。
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.height%28VS.100%29.aspx

#まぁAutoSizeプロパティをfalseにしないと、Textプロパティに代入された文字列を格納するのに必要な最低限の大きさに自動で調整されちゃうみたいだけど。
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.autosize.aspx

QDataGridViewのチェックボックスのON、OFFの判定方法

お世話になります。ご協力お願いします。
環境:VS2008 .Net FrameWork3.5
言語:C#

質問内容:ボタンを押下したら、DataGridViewの列に設定したチェックボックスのON,OFFを判定して処理を行いたい。
現状以下の方法で実現は出来ていますが、とても回りくどい方法になっています。
正しい処理を教えて頂けないでしょうか。

1.DataGridViewにて、列にチェックボックスを設けている。
2.truevaluesプロパティにtrueをセットしている。

ボタンを押下したらチェックボックスのON、OFFを判定する為に、DataGridViewの行を
ループさせて判定させています。

for(int i=0;i < DataGridView.Count;i++){
___if((string)DataGridView.Rows[i].Columns[0].values == "true")
___{
______処理
___}
}

お願い致します。

Aベストアンサー

 こんばんは。

 正しいかどうかは断言出来ませんが、要はチェックボックスの「on, off」を確認しながらループするのが非効率的なので、ループ回数を「on」の個数だけに留めたいと言う事でしょうか。

 でしたら、以下URLに記載されているイベントハンドラを応用して、
 http://dobon.net/vb/dotnet/datagridview/datagridviewcheckboxcolumn.html

 セルのチェックボックスが「on, off」された瞬間に、セルのROW番号をハッシュテーブルに向かって「登録、解除」をしていけば、結果として「on」になっているセルのROW番号だけを保持する事になります。

 「Dictionaryジェネリッククラス」
 http://msdn.microsoft.com/ja-jp/library/xfhwa508(VS.80).aspx

 以下参考程度に。

//ハッシュテーブル(trueのROW番号だけを記録するDictionary<Key, Value>だが、今回の事例では両方とも同じROW番号を入れる)
private Dictionary<int, int> boolMapper;

private void Form1_Load(object sender, EventArgs e)
{
//作成
this.boolMapper = new Dictionary<int, int>();
}

private void dataGridView1_CurrentCellDirtyStateChanged(object sender, EventArgs e)
{
if (this.dataGridView1.CurrentCellAddress.X == 0 && this.dataGridView1.IsCurrentCellDirty)
{
this.dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
}
}

//チェックボタンが「on, off」された瞬間に呼ばれるイベントハンドラ
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 0 && this.dataGridView1.Columns[e.ColumnIndex].ValueType == typeof(bool))
{
//チェックボタンが「on」になったのでハッシュテーブルに登録
if ((bool)this.dataGridView1[e.ColumnIndex, e.RowIndex].Value == true)
{
this.boolMapper.Add(e.RowIndex, e.RowIndex);
}
//チェックボタンが「off」になったのでハッシュテーブルから除外
else
{
this.boolMapper.Remove(e.RowIndex);
}
}
}

//ボタン1を押した時に呼ばれるイベントハンドラ
private void button1_Click(object sender, EventArgs e)
{
//ハッシュテーブルの要素個数分だけ回転する
foreach(KeyValuePair<int, int> kvp in this.boolMapper)
{
//ココで何かする「kvp.Value / kvp.Key」どちらにも同じ数字が入っているのでどちらを使用するかは問わない
this.dataGridView1[0, kvp.Value];
}
}

 こんばんは。

 正しいかどうかは断言出来ませんが、要はチェックボックスの「on, off」を確認しながらループするのが非効率的なので、ループ回数を「on」の個数だけに留めたいと言う事でしょうか。

 でしたら、以下URLに記載されているイベントハンドラを応用して、
 http://dobon.net/vb/dotnet/datagridview/datagridviewcheckboxcolumn.html

 セルのチェックボックスが「on, off」された瞬間に、セルのROW番号をハッシュテーブルに向かって「登録、解除」をしていけば、結果として「on」になっ...続きを読む

QVB.NETが学習できるようなサイト知りませんか?

こんにちは。
自分は現在、仕事でVB.NETを扱うために参考書を使って学習中です。
上の人からは、「とりあえず、関数とか制御構造とか、基本的なことをおさえといて」と言われました。でも、持ってる参考書だけではなんだか物足りないです。サンプルでもいいから、もっとたくさんコーディングしてみたいと思っています。
参考書を買わなくても手軽に勉強したいと思ったので、そういうサイトをご存知の方がいらっしゃれば教えていただきたいのですが。
よろしくお願いいたします。

Aベストアンサー

図書館に行くと結構いろんな本がありました。無料ですし、あまり借りる人もいないのでいつでも貸出可です(笑)
サンプル作品的なものは下のサイトに何個かあるみたいです^^

http://www.mitene.or.jp/~sugisita/vbnet_smp.html
http://jeanne.wankuma.com/tips/
http://133.53.64.43/tonoike/computer/vb/sampleindex.asp
http://anetm.com/dev/tools/vbdotnet/
http://www.ujihara.jp/iTextdotNET/ja/examplesvb.html

QDataGridViewでセルクリックイベントを発生させるには

DataGridViewでセルクリックイベントを発生させるには、
デザイナからではCellClickイベントハンドラとなりますが、
プログラムコード上から発生させるにはどのようにすればよろしいでしょうか?

CurrentCellでアクティブセルを変更した時に、そこのセルをクリックさせるイベントが欲しいのですが・・

宜しくお願い致します。

Aベストアンサー

CellClickイベントハンドラの内容を別のメソッドとして作り、アクティブセルを変更した際にそのメソッドを呼び出す方法ではダメなのでしょうか?
どうしてもCellClickイベントを発生させて処理をしたいのでしょうか?

QDataGridViewで指定したセルの値を取得

こんにちは。

VB2008のDataGridViewで指定したセルの値を取得をする方法がわかりません。
どなたか教えてください。

Aベストアンサー

こんばんは.

 Dim Data As String
 Data = Me.DataGridView(0, 2).Value
 MsgBox(Data)

みたいな感じで取れないですかね???

Qカレントレコードが無い事を判定させる方法

SQLを使ってmdb内のレコードセットを取得し、
無かったらエラーを返す、という処理を作成
する場合、カレントレコードが無い事を
判定するにはどうすれば良いでしょうか?
イメージは下記のような感じです。

レコードセット as DAO.Recordset

'レコードセット取得
 Set レコードセット = db.OpenRecordset(作成したSQL文)

'判定
If カレントレコード無 Then
MsgBox "エラーメッセージ"
Exit Sub
End If

Aベストアンサー

カレントレコード無は"レコードセット.RecordCount = 0"
で行けませんか?

QC#にて別クラスの関数を使いたい

C#にて、別クラスの関数を使用する方法を教えてほしいです。

下記のような、構造体を受け取るメソッドを作りました。

*****************************
private struct MyPoint
{
public int x;
public int y;
}

private void proc1(MyPoint pt)
{
MessageBox.Show("座標:" ; pt.x + "," + pt.y + "実行結果");
}

private void button1_Click(object sender ,System.EventArgs e)
{

MyPoint pt;
pt.x = 10;
pt.y = 20;
proc(pt);
}
*****************************

別のフォームのクラスから、proc1を呼び出したいのですが、やり方がわかりません。
どうか、教えてください。

Aベストアンサー

同じ定義をしたとしても別の名前空間に書いた構造体は同一とはみなされません。

呼び出し先クラスでの構造体を private では無く、public で宣言して下さい。

呼び出し元では、

MyClass.MyPoint pt;

のようにして実体を作ります。

QSQLで特定の項目の重複のみを排除した全項目を取得する方法

私は仕事上でデータベースを扱っていて、タイトルのような処理を行う必要があるのですが、いかんせん方法がわからずネット上を検索しても同様だったためここで質問させていただきます。

質問点を簡単に説明いたしますと、
たとえばAというテーブルがあって、

項目名1 項目名2 項目名3 項目名4
 A    あ    ア    亜
 A    い    ア    以
 A    う    ア    宇
 B    え    イ    江
 B    お    イ    尾

上のような構造になっている場合に「項目名1」について重複している項目を排除し、結果として


項目名1 項目名2 項目名3 項目名4
 A    あ    ア    亜
 B    え    イ    江

上のようなデータを取得したいのです。
この時に、Aの重複を排除して取得するレコードは1~3行目のどれでもよいです。
また、データを取得する際には必ずそのレコードの「全項目」を取得したいのでDistinctはうまく使えませんでした。

どなたか詳しい方、方法を教えてくださると幸いです。回答お待ちしております。

私は仕事上でデータベースを扱っていて、タイトルのような処理を行う必要があるのですが、いかんせん方法がわからずネット上を検索しても同様だったためここで質問させていただきます。

質問点を簡単に説明いたしますと、
たとえばAというテーブルがあって、

項目名1 項目名2 項目名3 項目名4
 A    あ    ア    亜
 A    い    ア    以
 A    う    ア    宇
 B    え    イ    江
 B    お    イ    尾

上のよ...続きを読む

Aベストアンサー

比較可能で一意性のある値をもてる項目6をテーブルに追加して、

select T.* from T, (select Item1,min(Item6) as Item6 from T group by item1) W where T.item6=W.item6;

――ってやるのが、一番手っ取り早いと思います。
他のところに影響がでないのであればですが。
oracleならrowidを使うとか、レコードの更新時刻を突っ込むとか。

QTabStripコントロールの上にLabelコントロールを乗せるには?

VB6でTabStripコントロールの上にLabelコントロールを乗せようとしています。

もちろん、コンテナに積んで乗せてやれば乗ることはわかっていますが、コンテナに積まず直接乗せようとすると乗りません。配置した後に最前面を指定しても最前面に出てきません。

FrameなどのコンテナのBorderStyleを無にしてFrameに積んでTabStripに配置するという方法はとりたくありません。

TextBoxやChkeckBoxなどのコントロールは直接乗るのにLabelは乗りません。 これはVB6の仕様なのでしょうか、若しくはコンテナに積まず乗せる方法がほかにあるのでしょうか。

Aベストアンサー

TabStripには、ハンドルを持つオブジェクトしか載りません。
ラベルオブジェクトは、VBが描画している絵です。
フォームや、ピクチャボックスにラベルを張ると、載っているように見えますが、実際にはVBが描画しているものと考えたらいいでしょう。

よってそのままでは乗せることはできません。

どうしてもというのであれば、ピクチャボックスにラベルを張って、そのピクチャボックスをタブStripコントロールに張るという手もあります。
ピクチャボックスのスタイルや縁線を調整したら、ラベルだけ張っているように見せることができます。

個人的には、#1maruru01氏の発言にあるコントロールの方が好きです。

Q他のフォームから別のフォームのサブルーチンを呼び出す

例えばフォームAからフォームBのCommand1_clickというサブルーチンを呼び出そうとすればどのようにすればいいんでしょうか?

私は

Call FormB!Command_click

とフォームAに書きましたがうまくいきませんでした

Aベストアンサー

Command1のClickイベントプロシージャの

Private Sub Command1_Click()
'(・・処理・・)
End sub



Public Sub Command1_Click()
'(・・処理・・)
End sub

に書き換えて下さい(「Private」→「Public」)。
こうすることにより、他のフォームから呼ぶことが可能になります。
ただしこのやり方は奨励しません(※後述)

また、呼び出し方も間違ってます。

Call FormB!Command_click

ではなく、

Call FormB.Command_click

として下さい(「!」→「.」)。

※自動生成するイベントプロシージャの構文を直接いじるのはあまり奨励しません(特に問題は発生しませんが)。
直接イベントプロシージャを呼ぶのではなく、下記のようにしてみてはいかがでしょう。

※下記をFormBに記述

Private Sub Command1_Click()
Call subCommand1Click
End sub

Public Sub subCommand1Click()
'(・・処理・・)
End sub

FormAではこのように呼ぶ
Call FormB.subCommand1Click

Command1のClickイベントプロシージャの

Private Sub Command1_Click()
'(・・処理・・)
End sub



Public Sub Command1_Click()
'(・・処理・・)
End sub

に書き換えて下さい(「Private」→「Public」)。
こうすることにより、他のフォームから呼ぶことが可能になります。
ただしこのやり方は奨励しません(※後述)

また、呼び出し方も間違ってます。

Call FormB!Command_click

ではなく、

Call FormB.Command_click

として下さい(「!」→「.」)。

※自動生成...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング