PDA

View Full Version : سوال: طریقه ارتباط بر قرار کردن فایل راهنما CHM با سی شارپ



davidrobert
سه شنبه 07 آبان 1392, 10:00 صبح
سلام من میخواستم بر هر قسمت برنامه یه راهنما قرار بدم وقتی روی راهنما در سی شارپ کلیک کردم به اون قسمت مورد نظر بره برای توضیح دادن اون قسمت . یعنی به کل بیام داخل یه CHM توضیحات درست کنیم و و وقتی که تو فرم مورد نظر روی راهنما کلید کردم اطلاعات مربوط به همون فرم رو بیارم در CHM ممنون میشم به هم بگید چطور این کار رو انجام بدم در سی شاپ. به وسیله برنامه Power CHM 2012 دارم میسازم فایل راهنما رو د صفحه هات html درست میکنم و فایل html رو میدم به برنامه CHm تا بتونم درست کنیم ولی تو لینک کردن در فرم سی شارپ با صفحه مورد نظر تو chm ماندم چیکار کنیم ممنون میشم. راهنمایی کنید من رو.

veniz2008
سه شنبه 07 آبان 1392, 10:42 صبح
سلام.
با یه خط کد براحتی می تونید این کار رو انجام بدید. در نمایش دادن فایل راهنما دو حالت مختلف رو ممکنه شما دوس داشته باشی که بکار ببری.
برای راحتی کار خودتون، فایل راهنما رو در کنار فایل اجرایی برنامه قرار بدید.
1. نمایش کلی فایل راهنما(صفحه خاصی از فایل راهنما رو نمیخواید نشون بدید) :
برای این کار از کلاس Help و متد ShowHelp کمک بگیرید. منظور از help در کد زیر نام فایل راهنمای شما هست.

Help.ShowHelp(this, "help.chm");
2. نمایش یک صفحه خاص از فایل راهنما:
در کد زیر منظور از topic.htm نام مربوط به اون صفحه خاص از فایل راهنما هست(این نام رو در محیط طراحی فایل راهنما می تونید براحتی بدست بیارید).

Help.ShowHelp(this, "help.chm", HelpNavigator.Topic, "topic.htm");
همچنین اگر خواستید در صفحه اصلی پروژتون، کاربر با زدن دکمه F1 که معمولا در تمامی نرم افزارها بعنوان نمایش فایل راهنما استفاده میشه، می تونید در رویداد KeyDown مربوط به اون فرم اصلی این کد رو بنویسید :

private void FrmMain_KeyDown(object sender, KeyEventArgs e)
{
if(e.KeyCode == Keys.F1)
Help.ShowHelp(this, "help.chm");
}
موفق باشید.

davidrobert
سه شنبه 07 آبان 1392, 23:23 عصر
ممنون بابت کمکتان آقا veinz اون روشی که شما گفتید رو انجام دادم برنامه CHM باز شد ولی قسمت مورد نظر نه باز نشود. من از این کد استفاده کردم Help.ShowHelp(this, "help.chm", HelpNavigator.Topic, "topic.htm");
این هم کد که خودم نوشتم. private void button1_Click(object sender, EventArgs e)
{
Help.ShowHelp(this, "Canopy Accounting Software.chm", HelpNavigator.Topic, "تنظیمات فارسی .html");
}فایل CHM باز میکنه ولی هر کار میکنیم صفحه مورد نظر رو باز نمیکنه. به این صوت نشان میده. صفحه رو
112366
با برنامه DreamWaver cs6 فایل html رو درست میکنم و از HTML 5 استفاده میکنم و به وسیله برنامه Power CHM فایل CHM رو میسازم. و هر کاری بود انجام دادم تا اون قسمت مورد نظر باز کنه باز نکرد ممنون میشم به هم بگید ایراد کارم چی اسم فایل رو فارسی قرار دادم که در Index فایل CHM هم فارسی نشان داده بیشه.

veniz2008
چهارشنبه 08 آبان 1392, 10:09 صبح
گمان میکنم در یه خط کدی که گذاشتید، برای مورد آخر، شما عنوان صفحه رو قرار دادید که نباید اینطور باشه (شاید من بد توضیح دادم). شما باید url اون صفحه خاص رو وارد کنید. شکل زیر رو دقت کنید. همونطور که می بینید title صفحه، فارسی هست ولی در کدنویسی چیزی که مهمه url هست.
112373

برای نمایش صفحه ای که در شکل می بینید، همون کد بالا رو داریم :

Help.ShowHelp(this, "help.chm", HelpNavigator.Topic, "topic.htm");
موفق باشید.

davidrobert
چهارشنبه 08 آبان 1392, 11:12 صبح
سلام ببخشید اسم اون نرم افزاری که شما برای ساخت فایل کمکی استفاده میکنید چی چون داخل برنامه Power CHM 2012 نتوستم پیدا کنیم لطفاً میشه اسم برنامه خودتان رو بگید که در اون برنامه فایل راهنما برنامه رو بسازم. ممنون میشم. تو Power CHM یه گذینه لینک داشت لینک زدم ولی عذت میکنه برای لینک شدن. ممنون میشم اسم برنامه که خو شما کار میکنید رو بدید و من هم با اون بسازم با تشکر بابت کمکتان.

veniz2008
چهارشنبه 08 آبان 1392, 12:03 عصر
من از نرم افزار WinCHM استفاده میکنم.

Mahmoud Zaad
چهارشنبه 08 آبان 1392, 12:47 عصر
سلام
این تاپیک ها یک خاصیت تکست دارن و یک خاصیت Name، شما باید خاصیت Name یا به قول آقای veniz2008، خاصیت URL رو در کدتون بنویسید، شما خاصیت تکست را نوشته اید.
در مورد تصویری که گذاشتید، به خود CHM (http://en.wikipedia.org/wiki/Microsoft_Compiled_HTML_Help) مرتبط است چون این صفحات از تکنولوژی html استفاده می کنند و از ie هم کمک می گیرند. شما هم در کدتان نوشته اید: topic.htm که پسوند صفحات html است. لذا وقتی تاپیکی وجود ندارد مثل مرورگر ie، تصویر بالا نشان داده می شود و این موضوع به وصل بودن به اینترنت مربوط نیست.

hamix666
یک شنبه 20 خرداد 1397, 09:49 صبح
گمان میکنم در یه خط کدی که گذاشتید، برای مورد آخر، شما عنوان صفحه رو قرار دادید که نباید اینطور باشه (شاید من بد توضیح دادم). شما باید url اون صفحه خاص رو وارد کنید. شکل زیر رو دقت کنید. همونطور که می بینید title صفحه، فارسی هست ولی در کدنویسی چیزی که مهمه url هست.
112373

برای نمایش صفحه ای که در شکل می بینید، همون کد بالا رو داریم :

Help.ShowHelp(this, "help.chm", HelpNavigator.Topic, "topic.htm");
موفق باشید.

با سلام چطوری میتونم url رو براش تعریف کنم هرکاری میکنم نمیشه