問題タブ [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.
c# - Windows フォームのテストを自動化する方法はありますか?
私はビジネス層の単体テスト用の nunit に精通していますが、今は勝利フォーム GUI 層のテストを自動化することを検討しています。
コントロールにアクセスして自動化することにより、Webアプリケーションのテストを自動化するためのwatinとwatinレコーダーを見てきました。ただし、できればオープン ソースである Windows フォーム (c# または vb.net で記述) に相当するものを見つけるのに苦労しています。
マウスとキーボードの押下の記録に基づいた製品は存在しますか?
更新:このブログ投稿 on whiteを見たところ、私が探していたものと同じように思えます。ブログ投稿ではいくつかの問題が発生していますが、白はバージョン 0.6 のみであるため、これらは解決される可能性があります。他の人が比較のために白または他のものを使用したかどうかに興味を持ってください.
winforms - マウスで Infragistics GanttChart タスクのサイズを変更する
DataTable
カスタムをUltraChart
of 型にロードしましたGanttChart
。
データが正常にロードされます。グラフに表示されるタスクにマウスのサイズ変更 (ドラッグ) のサポートを追加できるかどうか知っていますか? Infragistics
これがコントロールでサポートされているかどうかはわかりません。
c# - WebView と同じように Windows フォームに Gecko または Webkit を埋め込むことは可能ですか?
Gecko.NET のようなものがあるかどうか知りたいです ;) つまり、WebView を埋め込むことができ、それが任意の Windows フォーム アプリケーション内の IE7 の「インスタンス」であるのと同じように (そしてそれを に伝えますnavigateto(fancy_url);
)。Firefox か WebKit を使いたいです。
誰もこれを試しましたか?
更新: 上記のコントロールを使用して Gecko を埋め込むことは可能ですが、Gecko の使用中に印刷することはまだ不可能であることに注意してください。
2010 年 3 月の更新: GeckoFX を使用してネイティブに印刷することはまだできませんが、何をしようとしているのかによっては、十分な方法がいくつかあります。詳細については、http: //geckofx.org/viewtopic.php?id=796を参照してください。
2013 年 10 月の更新: Windows の開発を行っていないため、これには興味がありませんが、Gecko の開発はhttps://bitbucket.org/geckofxで確認でき、最近更新されたようです。将来の Windows 開発者のためにここに残しておきます ;)
2017 年 1 月の更新: TeamDevという会社からメールを受け取りました。彼らは、Windows フォーム アプリケーションで最新の Web ページを表示するために使用できる「DotNetBrowser」と呼ばれる Chromium ベースの .NET ブラウザー コンポーネントを作成しました。
メールを直接引用するには:
コンポーネントに関する詳細を次に示します。これは役立つ場合があります。
- DotNetBrowser は Chromium に基づいているため、HTML5、CSS3、JS、および最新の Web 標準をサポートしています。ライブラリの基盤となる Chromium バージョンは定期的に更新されます。
- このコンポーネントは、WPF だけでなく Windows フォーム デスクトップ アプリケーションにも適しており、C# と VB.NET の両方で機能します。
- ライブラリは商業的にライセンスされていますが、オープン ソースおよび学術プロジェクトには無料のライセンスが提供されています。
免責事項: Windows 開発を行っていないため、この DotNetBrowser は使用していませんが、これに対する解決策を探しているかどうかを確認する価値があるかもしれません。
.net - スクロールバーがコンテンツと重ならないようにするにはどうすればよいですか?
.NETとWinFormsを使用してスクロール可能なユーザーコントロールを作成するときに、たとえば、垂直スクロールバーがポップアップし、コントロールのコンテンツと重なって、水平スクロールバーも必要になるという状況に繰り返し遭遇しました。理想的には、コンテンツは垂直スクロールバー用のスペースを作るために少し縮小します。
私の現在の解決策は、コントロールを右端の40ピクセルから遠ざけるか、垂直スクロールバーが占めるようにすることです。これは依然として実質的にコントロールのクライアントスペースであるため、コントロールがまったく非表示になっていない場合でも、水平スクロールバーが垂直スクロールバーで覆われると、水平スクロールバーが表示されます。ただし、少なくともユーザーは、表示される水平スクロールバーを実際に使用する必要はありません。
これをすべて機能させるためのより良い方法はありますか?不要なスクロールバーがまったく表示されないようにする方法はありますか?
.net - UITypeEditor と IExtenderProvider
特定の種類のコントロールを追加のプロパティで拡張するエクステンダー (IExtenderProvider) があります。これらのプロパティの 1 つについて、UITypeEditor を作成しました。これまでのところ、すべて正常に動作しています。
エクステンダーには、UITypeEditor の一種のデフォルトとして使用しようとしているプロパティ自体もいくつかあります。私がしたいのは、(拡張コントロールではなく) エクステンダー自体にプロパティを設定できるようにすることです。拡張コントロールの追加プロパティの 1 つで UITypeEditor を開くと、 UITypeEditor をエクステンダーのプロパティの値に設定します。
簡単な例: ExtenderProvider にはプロパティ DefaultExtendedValue があります。フォームで、このプロパティの値を「My Value」に設定しました。拡張コントロールには、プロバイダーを通じて、UITypeEditor を持つプロパティ ExtendedValue があります。プロパティ ExtendedValue のエディターを開くと、デフォルト (初期) 値が「My Value」に設定されている必要があります。
これを行うのに最適な場所は、IWindowsFormsEditorService.DropDownControl または .ShowDialog を呼び出す直前の UITypeEditor.EditValue であると思われます。
唯一の問題は、問題のプロパティの値を読み取って UITypeEditor に設定するために、EditValue でエクステンダー プロバイダー自体を取得できない (または方法を発見していない) ことです。コンテキストによって拡張された制御が可能になりますが、この場合は役に立ちません。
私がしようとしていることを達成する方法はありますか? どんな助けでも大歓迎です!
ありがとうトム
@samjudson: それは悪い考えではありませんが、残念ながら、私はそこにたどり着きません. エクステンダー プロバイダーのインスタンスごとに、この既定値を個別に設定できるようにしたいと考えています。(拡張コントロールのグループごとに異なる値を持つ単一のフォームに複数ある場合があります。)
c# - WindowsFormsとC#のコントロールの動的なトップダウンリスト?
私たちのプロジェクトであるSharpWiredでは、FirefoxまたはSafariのダウンロードウィンドウに似たダウンロードコンポーネントを作成しようとしています。つまり、プログレスバーやボタンなどを含むカスタムコントロールであるダウンロードの1つのトップダウンリストです。
要件は、各行に1つの要素を持つ1つのリストが存在することです。各要素はカスタムコントロールである必要があります。リスト全体を動的にサイズ変更できるようにする必要があります。これにより、リストを長く/短くすると、必要に応じてスクロールバーが追加され、薄く/広くすると、カスタムコントロールのサイズがリストの幅に合わせて変更されます。
使用してみましたFlowLayoutPanel
が、希望どおりに機能するようにサイズを変更できていません。できれば、カスタムコントロールのアンカーをLeft&Rightに設定するだけで済みます。また、使用することもTableLayoutPanel
検討しましたが、これまでのところ、行を動的に追加することはオーバーヘッドが大きすぎることがわかりました。
FlowLayoutPanel
これは非常に一般的なユースケースである必要があり、これを直感的に行う方法がないことは私には少し奇妙に思えます。誰かが私たちを進行させるために似たようなことをしたり、ヒントやコツを持っていますか?
乾杯!
/アダム
c# - PictureBox で Nearest Neighbor リサンプリングを使用するにはどうすればよいですか?
ボックスはスプリッターでサイズ変更できるため、私は StretchImage を使用しています。デフォルトはある種の滑らかなバイリニア フィルタリングのように見え、画像がぼやけてモアレ パターンが発生します。
.net - DoDragDropとMouseUp
ドラッグアンドドロップが完了しなかった後、MouseUpイベントが食い尽くされてフレームワークによって無視されないようにする簡単な方法はありますか?
1つのメカニズムを説明するブログ投稿を見つけましたが、ステータスフラグ、MouseMoveイベント、手動の「マウス脱退」チェックなど、手動での簿記が大量に含まれています。避けた。
c# - タスクバーの点滅を止める
何かが変更されたときに特定のウィンドウのタスクバー項目をプログラムで点滅させることができることは知っていますが、一定時間後にプログラムで点滅を停止する方法はありますか、または少なくとも私が与えることができるキーボードショートカットがあります私のユーザーはどういうわけか点滅を止めますか?
.net - 破棄されたオブジェクトにアクセスできません - 修正方法は?
VB.NET WinForms プロジェクトで例外が発生する
破棄されたオブジェクトにアクセスできません
フォームを閉じるとき。非常にまれにしか発生せず、オンデマンドで再作成することはできません。スタック トレースは次のようになります。
dbiSchedule は、Dbi-tech のスケジュール コントロールです。フォームには、数分ごとに画面上のスケジュールを更新するタイマーがあります。
例外の原因と、それを修正する方法について何か考えはありますか? または、オンデマンドで再作成できるだけですか?
へー!すべての答えをありがとう。FormClosing イベントでタイマーを停止し、Timer Tick イベントで使用する前にスケジュール コンポーネントの IsDisposed プロパティをチェックしますが、役に立ちません。
誰かがうまくいく解決策を思いついたとしても、手動で問題を再現できないため、解決策を確認できないため、これは本当に厄介な問題です。