問題タブ [winforms]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
4708 参照

c# - WinForms のデータバインディングと外部キーの関係

データバインドされた DataGridView で外部キー ルックアップを表示できるようにする WinForms アプリケーション (.Net 3.5、WPF なし) を開発しています。

このような関係の例として、OrderLines のテーブルがあります。Orderlines には Products に対する外部キー関係があり、Products には ProductTypes に対する外部キー関係があります。

各行がオーダーラインを表し、ラインの製品と製品タイプを表示する、データバインドされた DataGridView が必要です。

ユーザーは、注文行をグリッドに直接追加または編集し、comboBoxColumn から注文行の製品を選択できます。これにより、producttype 列が更新され、選択した製品の producttype が同じ行に表示されます。

私がこれまでに見つけた最適な方法は、オーダーラインを表すドメイン オブジェクトを導入し、DataGridView をこれらのオーダーラインのコレクションにバインドすることです。次に、製品と製品タイプを公開するプロパティを orderline オブジェクトに追加し、関連する notifypropertychanged イベントを発生させて、すべてを最新の状態に保ちます。次に、orderline リポジトリで、この orderline オブジェクトとデータベース内の 3 つのテーブルの間のマッピングを関連付けることができます。

これはデータバインディングの側面では機能しますが、リポジトリ内のすべての OR マッピングをコードに渡さなければならないのは良くないようです。nHibernate はこの接続に役立つと思っていましたが、すべての外部キーを介したマッピングに苦労しています - それらは正常に動作しているようです (オーダーラインの製品の外部キー検索は、外部キーに基づいて正しい製品オブジェクトを作成します)。データバインドを実行しようとしましたが、データバインドされた ID 列を取得して製品または製品タイプ オブジェクトを更新できません。

私の一般的なアプローチは正しい球場でもありますか? もしそうなら、マッピングの問題に対する良い解決策は何ですか?

または、考慮していない外部キー検索を含む行をデータバインドするためのより良い解決策はありますか?

0 投票する
3 に答える
12569 参照

c# - デザイナーがユーザー コントロールのパブリック プロパティのコードを生成するのをどのように停止しますか?

ユーザー コントロールのパブリック プロパティの値を設定するコードをデザイナーが自動生成しないようにするにはどうすればよいでしょうか?

0 投票する
5 に答える
13006 参照

.net - Winforms - フォーム内の任意の場所をクリック/ドラッグして、フォームのキャプションをクリックしたかのように移動します

Winforms アプリケーションで使用される小さなモーダル フォームを作成しています。これは基本的に一種の進行状況バーです。しかし、フォームがまだ表示されている間に、ユーザーがフォーム内の任意の場所をクリックしてドラッグし、デスクトップ上で移動できるようにしたいと考えています。

この動作を実装するにはどうすればよいですか?

0 投票する
5 に答える
7080 参照

html - Windows フォームの WYSIWYG マークダウン コントロール?

[とりわけ、CMS として使用できる Windows フォーム データベース フロントエンド アプリケーションがあります。クライアントは構造を作成して入力し、ASP.NET WebForms ベースのサイトを使用して結果を Web 上で公開します。柔軟性を高めるために、実際の HTML マークアップをテキスト フィールドに直接入力するように強制されることがあります。これは、データベースで varchar として終了します。これは機能しますが、ユーザーフレンドリーとは言えません。]

そのため… 一部のクライアントは、HTML 用の WYSIWYG エディターを必要としています。より単純な言語 (つまり、Markdown) を使用することでメリットがあることを彼らに納得させたいと思います。理想的には、そのための WYSIWYG エディターが必要です。テーブルやそのような洗練されたものは必要ありません。

大ざっぱな検索で .NET Markdown to HTML converterが見つかり、それから HTMLを出力する Windows Forms ベースのテキスト エディターがありますが、この 2 つを結び付けるものはないようです。その結果、マークアップを含む varchar が残ったままになりますが、少なくとも人間が判読できるようになり、簡単に解析できるようになります。

これ — Markdown を出力し、後で ASP.NET で HTML に解析される WYSIWYG エディター — は実現可能でしょうか? 代替案はありますか?

0 投票する
7 に答える
4357 参照

.net - これは何のコントロールですか?(ドロップダウン付きの「開く」ボタン)

特定の Windows アプリケーションで使用される [ファイルを開く] ダイアログのOpenボタンには、追加オプションのリスト (つまりOpen With...

ファイルを開くダイアログ

すべての Windows アプリケーションでこれを確認したわけではないため、取得するにはいくつか試してみる必要があるかもしれませんが、メニューに移動してFile-> Open-を選択すると、SQL Server Management Studio と Visual Studio 2017 の両方でボタンが表示されます。 >File...

アプリケーションの 1 つで、このようなボタンを組み込みリストと共に使用したいのですが、Visual Studio で使用しているコントロールが見つかりません。ダイアログ全体ではなく、その特定のボタンを探していることを明確にする必要があります。何かご意見は?

0 投票する
3 に答える
476 参照

.net - 基本フォームから継承されたフォームのコンポーネントへのアクセス

私のプロジェクトの多くのフォームは、基本フォームから継承しています。派生フォームの Controls コレクションを取得するのは簡単ですが、VS がこれを非公開としてマークするため、Components コレクションにアクセスする簡単な方法を見つけられませんでした。

これはリフレクションで実行できると思いますが、以前にリフレクションを使用したことがないため、どうすればよいかわかりません。

現在、GetComponents 関数をオーバーライドし、関心のあるコンポーネントの配列を返す、一種の不格好な回避策を使用しています。オーバーライドされた関数の実装を忘れやすいため、明らかにエラーが発生しやすくなっています。または、コンポーネントが追加されたときに更新します。

誰かが何かヒントを持っているか、より良い方法を提案できるなら、私は聞いてうれしいです.

0 投票する
1 に答える
4065 参照

c# - リストビュー ラベルの編集をプログラムで呼び出す方法

C# では、新しく追加されたアイテムのラベル編集を ListView に呼び出したいと思います。基本的に、ここをクリックしてシナリオを追加する場合、新しいアイテムが追加されるとすぐに、テキスト ラベルをユーザーが編集可能な状態にする必要があります。ありがとう!

0 投票する
3 に答える
2949 参照

c# - .NET : TabControl のダブルクリック イベント

ユーザーが(シングルクリックではなく)タブをダブルクリックしてタブを変更したときに、.NET Windows Forms TabControl でイベントをインターセプトしたいと考えています。

どうすればそれができるか考えていますか?

0 投票する
7 に答える
33632 参照

.net - .net Windows フォーム プロジェクトを新鮮に見せるにはどうすればよいでしょうか?

私は、数年前から存在するビジュアル スタジオ 2005 vb.net Windows フォーム プロジェクトに取り組んでいます。デフォルトのテキストボックス、ラベル、ドロップダウン、データグリッド、日時ピッカーなど、すべて標準的なものでいっぱいです。最終的な結果は、非常に灰色の古いプロジェクトです。

このプロジェクトを新鮮でおしゃれに見せるための最善のアプローチは何ですか? すべての新しいフォーム オブジェクトを使用してソリューション全体を書き直すのは避けたいのですが、それは避けられますか?

0 投票する
7 に答える
32058 参照

visual-studio - Visual Studio でビルド エラーを修正する方法: '"LC.exe" がコード -1 で終了しました'

Windows フォーム ソリューションのビルド中に次のエラーが発生します。

「LC.exe」はコード -1 で終了しました

私は 2 つの商用 Windows フォーム ライブラリを使用しています。Infragistics と plexityhide.com の Gantt-Control です。そのため、WinForms プロジェクトに licenses.licx ファイルがあります。また、ソース管理として Visual Sourcesafe を使用します。

licenses.licx ファイルがプロジェクトにある場合、上記のエラーなしではビルドできません。ただし、それらをプロジェクトから除外すると、ビルドは正常に機能します。しかし、デザイナーで商用コントロールを操作したい場合は、licenses.licx ファイルが必要です。

これは、Windows XP SP3 (ドイツ語) および Visual Studio 2005 Team Edition for Software Developers (ドイツ語) SP1 を搭載した新しい開発者マシンです。

ちなみにWindows XP 32ビットです。

助言がありますか?