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

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

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

全過去ログを検索

<< 0 >>
■45765  Re[6]: あるプロセスからForm起動後について
□投稿者/ alvin -(2010/01/19(Tue) 18:48:09)
    No45764 (Jitta on the way さん) に返信
    > ■No45734 (alvin さん) に返信
    >
    > 2秒後に非アクティブになる、というのが、異常な動作です。先ずは、その様なコードがないか、洗い出すのが先でしょう。例えば、プロセスAに新しいフォームを追加して、新しいフォームをスタートアップ フォームにします。それでも同じ現象が発生するでしょうか。
    >
    > タスクバー内で点滅するのは、非アクティブな時に通知するべき情報が出来たときです。何らかの情報を通知しようとしていると思われますが、それについては、何か思い当たりますか?


    プロセスAに新しいフォームを追加して、新しいフォームをスタートアップ フォームにしても同じ現象です。
    なのでメニューからの起動方法に問題がありそうですが・・・

    「アプリケーションフレームワークを有効にする」のチェックを外せば解決できるんですが、これに伴う問題は上に記述しています。
記事No.45678 のレス /過去ログ77より / 関連記事表示
削除チェック/

■89448  Re[1]: DataGridViewのカスタム列セル外表示
□投稿者/ 魔界の仮面弁士 -(2018/11/29(Thu) 13:41:50)
    No89447 (Mimio さん) に返信
    > 実際に動かすとDataGridViewのCell内にパネルが表示されてしまいいます。
    DataGridViewCell 継承クラスのサイズは、常にセルサイズに収まるようにします。
    https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/8cd309b3-b2fc-480d-80b8-9f7cf56ecf22/


    > MonthCalendarやComboBoxをカスタム列型としたときに、
    > 右ボタンをクリックするとセル外にカレンダやList部分が表示されるので、
    ComboBox でいえば、DropDownStyle = Simple スタイルでフォームに貼った場合、
    テキスト部とリスト部を合わせた領域が、そのコントロールのサイズとして扱われますよね。

    一方、DropDownStyle = DropDown / DropDownList の場合、
    デザイン時、コントロールのサイズにリスト部は含まれていませんよね。


    実行時で比較してみると、Simple スタイルの場合は
    リスト部が親コントロール(Form など)内から出られませんが、
    DropDown や DropDownList スタイルの場合には
    リスト部が Form からはみ出していても表示できますよね。

    これは、ドロップダウンやポップアップ表示するタイプのコントロールの場合、
    追加で表示される領域は、そのコントロールの一部ではなく、
    別のウィンドウが表示されているためである、と考えられます。


    > 何らかの設定でできるのではないかと思っています。
    パネル部はセル内に配置するのではなく、新規に Form を用意し、
    そこに移動してみてください。
    このフォームの TopLevel プロパティは false にしておきます(既定で false です)。

    そして、TimeSpan セルがパネル入力モードになった段階で、
    この子フォームを表示するようなコードを記述し、フォーカスをそこに移します。

    あとは、コントロールからフォーカスが Leave したときに
    そのフォームが消えるようにすれば、
    ドロップダウンスタイルと同じ見た目になるかと。
記事No.89447 のレス /過去ログ154より / 関連記事表示
削除チェック/

■89458  Re[2]: DataGridViewのカスタム列セル外表示
□投稿者/ mimio -(2018/11/30(Fri) 03:48:56)
    No89448 (魔界の仮面弁士 さん) に返信
    余計なことを書くと怒られるかも知れませんが、
    直接ご回答頂いたことはありませんでしたが、
    以前らご高名な魔界の仮面弁士様にはお世話になっております。
    今後も一層のご活躍をお祈り致します。

    > ■No89447 (Mimio さん) に返信
    >>実際に動かすとDataGridViewのCell内にパネルが表示されてしまいいます。
    > DataGridViewCell 継承クラスのサイズは、常にセルサイズに収まるようにします。
    > https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/8cd309b3-b2fc-480d-80b8-9f7cf56ecf22/

    じっくりを読んでみることにします。

    >>MonthCalendarやComboBoxをカスタム列型としたときに、
    >>右ボタンをクリックするとセル外にカレンダやList部分が表示されるので、
    > ComboBox でいえば、DropDownStyle = Simple スタイルでフォームに貼った場合、
    > テキスト部とリスト部を合わせた領域が、そのコントロールのサイズとして扱われますよね。
    >
    > 一方、DropDownStyle = DropDown / DropDownList の場合、
    > デザイン時、コントロールのサイズにリスト部は含まれていませんよね。
    >
    >
    > 実行時で比較してみると、Simple スタイルの場合は
    > リスト部が親コントロール(Form など)内から出られませんが、
    > DropDown や DropDownList スタイルの場合には
    > リスト部が Form からはみ出していても表示できますよね。

    Simple スタイルのテストは行いませんでしたが、なるほどです。

    > これは、ドロップダウンやポップアップ表示するタイプのコントロールの場合、
    > 追加で表示される領域は、そのコントロールの一部ではなく、
    > 別のウィンドウが表示されているためである、と考えられます。
    >

    別のウィンドウが表示されている?
    DataGridViewCellの設定でできることではないとお考えなのですね。

    >
    >>何らかの設定でできるのではないかと思っています。
    > パネル部はセル内に配置するのではなく、新規に Form を用意し、
    > そこに移動してみてください。
    > このフォームの TopLevel プロパティは false にしておきます(既定で false です)。
    >
    > そして、TimeSpan セルがパネル入力モードになった段階で、
    > この子フォームを表示するようなコードを記述し、フォーカスをそこに移します。
    >
    > あとは、コントロールからフォーカスが Leave したときに
    > そのフォームが消えるようにすれば、
    > ドロップダウンスタイルと同じ見た目になるかと。

    ユーザーコントロールに子フォームをくっつけることができるとは思いませんでした。
    実際に行ってみます。
    ありがとうございました。
記事No.89447 のレス /過去ログ154より / 関連記事表示
削除チェック/

■89470  Re[5]: DataGridViewのカスタム列セル外表示
□投稿者/ 魔界の仮面弁士 -(2018/11/30(Fri) 14:27:56)
    2018/11/30(Fri) 15:04:31 編集(投稿者)

    No89469 (mimio さん) に返信
    > sForm.TopLevel = false;

    ごめんなさい!
    先の No89448 の回答で、TopLevel の true/false を逆に書いていました…。

    自分のイメージしていた処理は
     sForm.TopLevel = true; // 初期値で既に true
     sForm.Deactivate += delegate { sForm.Close(); };
     sForm.Show(Form.ActiveForm);
    という物です。(子コントロールとするわけではない)

    Deactivate イベントは、sForm 以外の場所をクリックした場合に
    キャンセル扱いとしてパネルフォームを閉じるために挿入しています。

    ただしこの方法だと、ActiveForm がパネルフォーム側に移ってしまうのが難点です。

    また、上記は親フォームがモードレスであることを想定しています。

    ShowDialog で表示されたモーダル ウィンドウ上にある DataGridView からも
    一応呼び出せますが、その場合、そのモーダルウィンドウの
    呼び出し元(オーナーウィンドウ)をクリックした場合は、
    Deactivate イベントが発生しません。
    (モーダルフォーム自身をクリックした場合は、Deactivate が発生する)


    > DataGridViewのCell枠内に表示されるので、
    > this.Parent.Parent.Controls.Add(sForm);
    > としました。

    子コントロールとして配置する場合は、こういう風にも書けます。


    DataGridView 上に配置したい場合
     // IDataGridViewEditingControl.EditingControlDataGridView プロパティ
     this.EditingControlDataGridView.Controls.Add(sForm);

    親 Form 上に配置したい場合
     // Control.FindForm メソッド
     this.FindForm().Controls.Add(sForm);


    ただしこの方法をとる場合、Controls.Add メソッドに渡すのは
    TopLevel = false な Form ではなく、Panel 等の方が良さそうです。
記事No.89447 のレス /過去ログ154より / 関連記事表示
削除チェック/

■89496  Re[6]: DataGridViewのカスタム列セル外表示
□投稿者/ mimio -(2018/11/30(Fri) 18:04:05)
    No89470 (魔界の仮面弁士 さん) に返信
    > 2018/11/30(Fri) 15:04:31 編集(投稿者)
    >
    > ■No89469 (mimio さん) に返信
    >>sForm.TopLevel = false;
    >
    > ごめんなさい!
    > 先の No89448 の回答で、TopLevel の true/false を逆に書いていました…。
    >
    > 自分のイメージしていた処理は
    >  sForm.TopLevel = true; // 初期値で既に true
    >  sForm.Deactivate += delegate { sForm.Close(); };
    >  sForm.Show(Form.ActiveForm);
    > という物です。(子コントロールとするわけではない)
    >
    > Deactivate イベントは、sForm 以外の場所をクリックした場合に
    > キャンセル扱いとしてパネルフォームを閉じるために挿入しています。
    >
    > ただしこの方法だと、ActiveForm がパネルフォーム側に移ってしまうのが難点です。
    >
    > また、上記は親フォームがモードレスであることを想定しています。
    >
    > ShowDialog で表示されたモーダル ウィンドウ上にある DataGridView からも
    > 一応呼び出せますが、その場合、そのモーダルウィンドウの
    > 呼び出し元(オーナーウィンドウ)をクリックした場合は、
    > Deactivate イベントが発生しません。
    > (モーダルフォーム自身をクリックした場合は、Deactivate が発生する)
    >
    >
    >>DataGridViewのCell枠内に表示されるので、
    >>this.Parent.Parent.Controls.Add(sForm);
    >>としました。
    >
    > 子コントロールとして配置する場合は、こういう風にも書けます。
    >
    >
    > DataGridView 上に配置したい場合
    >  // IDataGridViewEditingControl.EditingControlDataGridView プロパティ
    >  this.EditingControlDataGridView.Controls.Add(sForm);
    >
    > 親 Form 上に配置したい場合
    >  // Control.FindForm メソッド
    >  this.FindForm().Controls.Add(sForm);
    >
    >
    > ただしこの方法をとる場合、Controls.Add メソッドに渡すのは
    > TopLevel = false な Form ではなく、Panel 等の方が良さそうです。

    いろいろな方法があるんですね。
    いくつか試してみて、最も良さそうなものを探してみます。
    しばらく、プログラミングから離れますので、
    結果はかなり後になります。
記事No.89447 のレス /過去ログ154より / 関連記事表示
削除チェック/

■97956  底辺と高さから角度(deg)を求める方法
□投稿者/ のぶ -(2021/08/12(Thu) 11:37:06)

    分類:[C#] 

    タイトルの通り、底辺・高さから角度を求める計算部分を作成していますが、
    どうにも求める答え(関数電卓による答え)と合わずに困っています。

    具体的な式としては、Θ=tan^-1(0.0125/10)になりますが、
    関数電卓では「0.071619687」
    高度計算サイトでは「0.071619687089448」になります。

    私の書いた計算部分では「0.071497644842674762」となってしまいます。
    Mathがdouble対象という事でnugetよりDecimalMathパッケージを導入してみても結果は変わらず。

    私の書いた部分に問題があるとは思いますが、どこで計算ミスをしているのでしょうか。
    お教え下さい。

    Microsoft Visual Studio Community 2019 Version 16.8.6
    対象フレームワーク:.NET5

    double num1 = 12.5;
    double num2 = num1 / 1000;
    double num3 = 10;

    //double rad = (num2 / num3) * Math.PI / 180;
    double deg = (num2 / num3) * 180 / Math.PI;
    double rslt = Math.Atan(deg);
親記事 /過去ログ170より / 関連記事表示
削除チェック/

■97957  Re[1]: 底辺と高さから角度(deg)を求める方法
□投稿者/ WebSurfer -(2021/08/12(Thu) 12:30:32)
    No97956 (のぶ さん) に返信
    
    私の書いたコード、
    
    using System;
    
    namespace ConsoleApp2
    {
        class Program
        {
            static void Main(string[] args)
            {
                double rad = Math.Atan(0.00125d);
                double deg = (180d / Math.PI) * rad;
                Console.WriteLine("\n-----------");
                Console.WriteLine($"rad: {rad}, deg: {deg}");
    
            }
        }
    }
    
    では以下のようになりますが?
    
    rad: 0.0012499993489589437, deg: 0.07161968708944809
    
    関数電卓では                     0.071619687
    高度計算サイトでは               0.071619687089448
    私の書いた計算部分では           0.071497644842674762
記事No.97956 のレス /過去ログ170より / 関連記事表示
削除チェック/

■97958  Re[2]: 底辺と高さから角度(deg)を求める方法
□投稿者/ WebSurfer -(2021/08/12(Thu) 12:46:10)
    No97957 の私のレスで、
     
    > 関数電卓では                     0.071619687
    > 高度計算サイトでは               0.071619687089448
    > 私の書いた計算部分では           0.071497644842674762
    
    というのは質問者さんの際その質問にあった結果を比較のためコピペしたものです。
    念のため申し添えておきます。
記事No.97956 のレス /過去ログ170より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -