日期:2014-05-17  浏览次数:21213 次

为richTextBox中的文字和图片添加链接,点一下便播放音乐
为richTextBox控件中图片和文字添加链接,点一下便播放音乐;
每个图片和文字都会对应不同的音频文件wav的地址
就如同微信的语音功能,点一下
便播放一个唯一对应的音频文件
高人求解!!!
------最佳解决方案--------------------
补充一点 用动态加控件的方法暂时没实现当控件超过richTextBox范围时 滚动条自己往下跟的问题 如果楼主打算采用这种方法 可以先考虑下这个问题
------其他解决方案--------------------

你可以看看类似于 虾米音乐的 播放器在博客和微博的应用。
------其他解决方案--------------------
还是没摸索出来
------其他解决方案--------------------
高手来帮帮忙啊。。。
现在做项目急需解决这个问题!!!

------其他解决方案--------------------
自己写的一个代码,功能可以实现,但不漂亮。。。
贴出来一起学习,还请高手多多出手。。。

运行结果:


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;   //播放WAV用

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {

        //播放WAV用
        [DllImport("winmm")]
        public static extern bool PlaySound(string szSound, IntPtr hMod, int flags);

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //点击richTextBox控件中的“http://w--212.wav”便播放“212.wav”
            richTextBox1.AppendText("http://w--212.wav");
        }

        private void richTextBox1_LinkClicked(object sender, LinkClickedEventArgs e)    //打开richTextBox中的链接
        {
            string file = Application.StartupPath + "\\" + e.LinkText.Substring(10);
            PlaySound(file, IntPtr.Zero, 0x00020000 
------其他解决方案--------------------
 0x0001);
        }
    }
}

------其他解决方案--------------------
我以前弄过一个效果不太好的,点击richtextbox中的编号可以打开对应的任务。
我的方法是用尖括号将编号括起来,比如 <001>,判断richtextbox的mousedown事件,如果点击位置往前找到<,并且往后找到>,则表示点中了任务。

不知你是WPF/WinForm/WebForm?
------其他解决方案--------------------
WinFrom
------其他解决方案--------------------
能让每个标签都对应一个不同的wav文件的地址嘛?
高手把代码贴出来吧!
大家一起学习。。。
感激不尽。。。
------其他解决方案--------------------