C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■12206  Re[3]: データ型について
□投稿者/ ゴン太 -(2008/01/04(Fri) 21:54:33)
    No12203 (未記入 さん) に返信
    > 書き忘れましたが、「自動的に解釈」というのが var のことなのかそれとも VB なんかにある遅延バインディングのことなのかわからないですね。具体的にどの言語のどの機能を言っているのでしょう? とりあえず OS はありえないと書いてしまいましたが。
    何と説明したらよいのかわかりませんが、例えばrubyなどはデータ型を宣言しなくても
    よいですよね。これらの言語はどのようにデータ型を判別するようにできているのでしょうか?

    それとVB2008は、データ型を宣言しなくてもよくなったという噂を聞きましたが本当でしょうか?
記事No.12198 のレス /過去ログ26より / 関連記事表示
削除チェック/

■12205  Re[6]: VB .NET 2008 COMコンポーネント
□投稿者/ 中博俊 -(2008/01/04(Fri) 21:53:27)
>
記事No.12131 のレス /過去ログ26より / 関連記事表示
削除チェック/

■34683  Re[5]: C#でのパスワード付アプリ作成について
□投稿者/ .SHO -(2009/04/06(Mon) 14:08:38)
    どこが問題なのか、いまいちわからないです。
    シリアルデータの中に記録したパスワードが見れちゃうのが問題なんですか?
記事No.34678 のレス /過去ログ60より / 関連記事表示
削除チェック/

■58189  Re[1]: あるフォルダ内のファイル・フォルダを別フォルダ内にコピー
□投稿者/ PATIO -(2011/03/28(Mon) 17:04:11)
    No58186 (ピロシキ さん) に返信
    > VB(2008)のプログラム内で、任意のフォルダ内に含まれるすべてのファイルを、
    > サブフォルダも含めて別のフォルダ内にコピーしたいのですが、
    > 何か効率的な方法はあるでしょうか?
    > (同じファイルが存在する場合は上書きをおこないます。)
    > 引数にコピー元フォルダやコピー先フォルダなどを指定するようなメソッドがあればいいのですが、
    > 勉強不足で分かりません。
    > 何卒よろしくお願い申し上げます。

    うーん。
    VB.NET ファイルコピー
    上記のキーワードでググれば、参考になりそうな記事は山ほど出てきますが、
    試しに調べてみましたか?

    調べて見た結果、この方法でやろうと思ったけれど、
    ここでエラーが出てうまく行きませんと言うような質問の方が
    レスも付きやすいかなと思いますよ。
記事No.58186 のレス /過去ログ97より / 関連記事表示
削除チェック/

■99451  Re[3]: フラグが変化したときに発生するイベントを作りたい
□投稿者/ あいす -(2022/04/13(Wed) 11:28:04)
    No99450 (kiku さん) に返信
    > ■No99449 (魔界の仮面弁士 さん) に返信

    ご教授ありがとうございます。

    フラグをForm1以外でも変更し、それを検出したいのですがその際にはどのようにすればいいのでしょうか。
    変更したいファイルで TestClass testClass; を宣言し testClass.TestFlag = true;にしてもlabelが変わらなかったので、、
記事No.99448 のレス /過去ログ173より / 関連記事表示
削除チェック/

■99455  Re[4]: フラグが変化したときに発生するイベントを作りたい
□投稿者/ 魔界の仮面弁士 -(2022/04/13(Wed) 12:06:01)
    No99451 (あいす さん) に返信
    > フラグをForm1以外でも変更し、

    そのフラグを Form1 で管理しているのなら、
    Form1.cs で internal あるいは public で公開すれば、
    他のフォームからでも、Form1のインスタンスのメンバーとして変更できるようになります。

    Form1 のインスタンスメンバーとしたいのではなく、
    プロジェクト全体で単一的に使う物なら、Program.cs で public static にしておけば、
    Program.何某〜〜 としてアクセスできます。
    あるいはシングルトンクラスを用意するということも出来るでしょう。


    アプリケーション設定、たとえば
     Properties.Settings.Default.MyFlag = "何某";
    などを使っているのであれば、さらに話は簡単で、
    PropertyChanged イベントがそのまま変更通知として使えるので
    自分でイベントを自作する必要すらありません。

    [STAThread]
    static void Main()
    {
      Properties.Settings.Default.PropertyChanged += (sender, e) =>
      {
        System.Diagnostics.Debug.WriteLine("{0}:{1}", e.PropertyName, Properties.Settings.Default[e.PropertyName]);
        if (e.PropertyName == "MyFlag")
        {
          MessageBox.Show("MyFlagが変更された");
        }
      };
      Application.EnableVisualStyles();
      Application.SetCompatibleTextRenderingDefault(false);
      Application.Run(new Form1());
    }



    > 変更したいファイルで TestClass testClass; を宣言し
    > testClass.TestFlag = true;にしてもlabelが変わらなかったので、、

    kiku さんのサンプルで言うと、
     public partial class Form1 : Form
     {
       private TestClass testClass;
     }
    という状態になっているので、Form1 以外からは操作できません。


    (案1) アクセス修飾子を、private から internal に格上げする
     public partial class Form1 : Form
     {
       internal readonly TestClass testClass = new TestClass();
     }


    (案2) インスタンスそのものは公開せず、フラグ操作部だけを公開する
     public partial class Form1 : Form
     {
       private readonly TestClass testClass = new TestClass();
       public void ChangeFlag(bool newValue)
       {
         testClass.TestFlag = newValue;
       }
     }

    Form1 のインタンス メンバーを別フォームからアクセスしたい場合は、
    Form1 から他フォームを開く際に、Form1 の this を他フォームに受け渡しておくのが
    手っ取り早いでしょう。(たとえば Owner プロパティに渡すこともできます)。

    あるいは、Application.OpenForms を通じて動的に取得するということもできます。
記事No.99448 のレス /過去ログ173より / 関連記事表示
削除チェック/

■99456  Re[5]: フラグが変化したときに発生するイベントを作りたい
□投稿者/ kiku -(2022/04/13(Wed) 12:47:51)
    No99455 (魔界の仮面弁士 さん) に返信
    > ■No99451 (あいす さん) に返信
    > (案2) インスタンスそのものは公開せず、フラグ操作部だけを公開する
    >  public partial class Form1 : Form
    >  {
    >    private readonly TestClass testClass = new TestClass();
    >    public void ChangeFlag(bool newValue)
    >    {
    >      testClass.TestFlag = newValue;
    >    }
    >  }
    
    案2でサンプル書いてみました。
    
        public partial class Form1 : Form
        {
            private TestClass testClass;
            private Form2 form2;
            public Form1()
            {
                InitializeComponent();
                testClass = new TestClass();
                testClass.YourEventName += TestClass_YourEventName;
                form2 = new Form2();
                form2.Show(this);
            }
            public void SetFlag(bool flag)
            {
                testClass.TestFlag = flag;
            }
            private void TestClass_YourEventName(object sender, TestClass.HogeEventArgs e)
            {
                if (e.TestFlag)
                {
                    label1.Text = "true";
                }
                else
                {
                    label1.Text = "false";
                }
            }
        }
    
        public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }
            private void button1_Click(object sender, EventArgs e)
            {
                ((Form1)Owner).SetFlag(true);
            }
            private void button2_Click(object sender, EventArgs e)
            {
                ((Form1)Owner).SetFlag(false);
            }
        }
    
        class TestClass
        {
            public class HogeEventArgs : EventArgs
            {
                public HogeEventArgs(bool testFlag)
                {
                    TestFlag = testFlag;
                }
                public bool TestFlag { set; get; }
            }
            public event EventHandler<HogeEventArgs> YourEventName;
            protected virtual void OnYourEventName(HogeEventArgs e)
            {
                YourEventName?.Invoke(this, e);
            }
            private bool _TestFlag = false;
            public bool TestFlag
            {
                set {
                    this._TestFlag = value;
                    OnYourEventName(new HogeEventArgs(this._TestFlag));
                }
                get { return this._TestFlag; }
            }
        }
    
記事No.99448 のレス /過去ログ173より / 関連記事表示
削除チェック/

■99452  Re[4]: フラグが変化したときに発生するイベントを作りたい
□投稿者/ kiku -(2022/04/13(Wed) 11:38:36)
    No99451 (あいす さん) に返信
    > ■No99450 (kiku さん) に返信
    >>■No99449 (魔界の仮面弁士 さん) に返信
    >
    > ご教授ありがとうございます。
    >
    > フラグをForm1以外でも変更し、それを検出したいのですがその際にはどのようにすればいいのでしょうか。
    > 変更したいファイルで TestClass testClass; を宣言し testClass.TestFlag = true;にしてもlabelが変わらなかったので、、

    上記「Form1以外」とはどういうことなのか?を説明頂けないと返答できないと思います。
    もしくは
    それを検証できる最低限のソースを提示するなど。
記事No.99448 のレス /過去ログ173より / 関連記事表示
削除チェック/

■99454  Re[5]: フラグが変化したときに発生するイベントを作りたい
□投稿者/ あいす -(2022/04/13(Wed) 12:01:15)
    No99452 (kiku さん) に返信
    > ■No99451 (あいす さん) に返信
    >>■No99450 (kiku さん) に返信
    > >>■No99449 (魔界の仮面弁士 さん) に返信
    >>
    >>ご教授ありがとうございます。
    >>
    >>フラグをForm1以外でも変更し、それを検出したいのですがその際にはどのようにすればいいのでしょうか。
    >>変更したいファイルで TestClass testClass; を宣言し testClass.TestFlag = true;にしてもlabelが変わらなかったので、、
    >
    > 上記「Form1以外」とはどういうことなのか?を説明頂けないと返答できないと思います。
    > もしくは
    > それを検証できる最低限のソースを提示するなど。

    言葉足らずですみません。
    Form1とは別のフォームでも対象のフラグを変更できるようにし、その変更検出をForm1でしたいです。
記事No.99448 のレス /過去ログ173より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -