ここから本文です

Visual C# 2005 EXPRESSd でVisual C#.NET の個別の操作を教えて下さい 谷尻か...

sun********さん

2011/2/510:19:16

Visual C# 2005 EXPRESSd でVisual C#.NET の個別の操作を教えて下さい

谷尻かおり 「Visual C#.NET によるデータベースプログラミング(入門)」 技術評論社('02/12/15)
で「順編成ファイルアクセス」を勉強中です

>

この課題はメインフォームFORM1と検索キー入力のためのフォームfrmFINDがあります
メインフォーム編集、検索とクリックするとfrmFINDが起動し、そこから検索用のキーを入力して
メインフォームに渡すようになってます

そこでfrmFINDクラスにFindKeyプロパティを追加したい

"EXPRESS" にはプロパティウィザードが装備されていませんのでその方法以外で可能な方法を教えて下さい

同本 64ページから以下のような記述があります(意味を崩さないように表現は修正込み)

(引用-)
テキストボックスに入力した値を呼び出しメインフォームFORM1に返すにはフォームfrmFINDにプロパティを
追加する必要があります。クラスビューでfrmFINDを選択、右クリックしフすると現れるメニューから
[追加]-[プロパティ]を選択して下さい。プロパティウィザードが起動します

その指定は

プロパティアクセス public
プロパティの種類 string
プロパティ名 FindKey
アクセサ get

として

[完了]を押すとfrmFINDクラスにFindKeyプロパティの定義が追加されます
(-引用)

その下の参考図には frmFIND.cs*に

□で囲まれた Windows Form Designer generated code の行の次から (get~対応}までインデントあり)

pubric string FindKey
{
get
{
return null;
}
}

パソコンは hp d320st, pen4, 2.53Ghz, メモリ2G, システム windows xp sp3 です

よろしくお願いします

補足
プロパティ記述しビルドエラー、コメント化で正常
キー受渡しOK

なら
1プロパティ設定の意味は何でしょうか?
2FindKeyはデザイナのプロパティで確認できる?

エラー 'sequential.frmFind' は 'FindKey' の定義を既に含んでいます

(frmFIND.cs)
namespace sequential
{
public partial class frmFind : Form
{
public frmFind()
{
InitializeComponent();
}
//public string FindKey
//{
// get
// {
// return txtKey.Text;
// }
//}
}
}

FindKeyプロパティ,frmFIND,Visual C,Windows XP SP3,フォームfrmFIND,return findkye,技術評論社

閲覧数:
465
回答数:
1
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

kou********さん

編集あり2011/2/515:10:18

谷尻かおり 「Visual C#.NET によるデータベースプログラミング(入門)」 技術評論社

入門書としては良い本なんでしょうね。
プロパティウィザードがなくても自前でプロパティを手書きで掛けます。

例えば、frmFindクラスにFindKeyプロパティを単純な実装な形で追加するのであれば

private string findkye;

[DefaultValue("Hello C#"),
Description("この値を参考にして該当のデータを検索します。")]
public string FindKey
{
get { return findkye; }
set { findkye = value; }
}

このような形になります。

--
>>プロパティ記述しビルドエラー、コメント化で正常
>>キー受渡しOK

これらは、結局、私のコードでは求めている動作ができなかったという事でしょうか・・?
とりあえず、参考書のプロパティではなく、私の書いたFindKeyプロパティと現行のFindKeyプロパティを
置換すれば実装はできるはずですが・・・。

1プロパティ設定の意味は何でしょうか?
現段階のあなたのコードは、規定のフォームクラスにプロパティを追加し
そのプロパティ以外を通して、背景にある動作をさせない為に実装してあるのでわ・・?
著者の意図的な物はクラス間の値の移動だと思われます。
(とは別に、自作プロパティは大変便利な使い方があります。
ObjectBindを行う場合や、クラスのシリアライズ化を使用する場合です。)

2FindKeyはデザイナのプロパティで確認できる?
できません。行いたい場合は、'規定'のフォームクラスにプロパティを追加する事の意味を考えてください。

質問した人からのコメント

2011/2/5 17:15:09

>私のコードでは求めている動作ができなかったという事でしょうか?
違います。 kou_ei3 さまのset { findkye = value; } を除いたコードが同じことを言われているとみてビルドしました。
public string FindKey
{
get { return findkye; }
set { findkye = value; }
}
と本の
public string FindKey
{
get
{
return txtKey.Text;
}
}
そうしたら補足の経過で結局パスしました。補足が1回のみなので残念です。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる